home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CU Amiga Super CD-ROM 11
/
CU Amiga Magazine's Super CD-ROM 11 (1997)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-06].iso
/
cucd
/
information
/
manual
/
s
/
manual.txt
Wrap
Text File
|
1996-10-04
|
219KB
|
6,969 lines
@LhA Evaluation V1.52 - Copyright (c) 1993 by Stefan Boberg.
All rights reserved. Not for commercial use.
Usage: LhA [-<options>] <command> <archive[.LZH/LHA/RUN]> [[homedir]
<filespec>...] [@file] [destdir]
Where <Command> is one of:
a Add files c Concatenate/Append archives
d Delete files e Extract files
f Freshen files h Hunt for diffs arc <-> filesys
l[q] List archive (terse) m Move files to archive
p Print files to stdout r Replace files in archive
t Test archive integrity u Update archive
v[q] List archive (verbose) vv Show archive contents (full)
x Extract files with full path
And <Options> is one or more of:
-a Preserve file attributes -A Set archive attributes
-b Set I/O buffer size (KB) -B Keep backup of archive
-c Confirm files -C Clear arc-bit on extract
-d Archive date = newest file -D Alternate progress display
-e Archive empty directories -E Touch extracted files
-f Ignore filenotes -F Use fast progress display
-g (Un)Garble with password -G Only extract newer files
-h Disable homedirectories -H Write header level ( 0,1,2 )
-i Read filelist from file -I Ignore LHAOPTS variable
-k Keep partial files -K Kill empty directories (move)
-l Make filenames lowercase -L Create filelist
-m No messages for query -M No autoshow files
-n No byte progress indicator -N No progress indicator
-p Pause after loading -P Set task priority
-q Be quiet -Q Alternate option set introducer
-r Collect files recursively -R Collect archives recursively
-s Only add files with A flag unset -S Set A flag on added files
-t Only extract new files -T Only extract new & newer files
-u Make filenames uppercase -U Set indicator update rate(bytes)
-v Set compression speed -V Enable / set multivolume size(KB)
-w Set work directory -W Exclude filenames
-x Preserve and use path names -X Do not append LZH/LHA suffix
-y Always append LZH/LHA suffix -Y Store big files w.ratio < 3%.
-z Do not compress files -Z Compress archives
-0 Use LhArc V1 compression (-lh1-) -1 Use LHA V2 compression (-lh4-)
-2 Use LHA V2 compression (-lh5-)
Alternate options:
-Qa Use simple console I/O -Qd Delete autoshow files
Paused. Press any key to continue... -Qh Set Huffman buffer size (KB) -Qo Ignore options after cmd
-Qp Ignore delete protection flag -Qr Skip datestamp check
-Qw Disable wildcards
Stefan Boberg, Rydsv. 242 A:25, S-58251 Linköping, Sweden (Europe)
@ARJ Amiga v0.6
Usage: ARJ <command> [-<options>] <file>[.arj]
Commands: e - extract files
x - extract files with full path
l - list archive
v - verbose listing of archive
t - test archive
Options: c - show archive comment
i - display no progress indicator
n - extract only non existant files
q - query on each file
x - disable CRC checking
y - assume yes on all queries
@LZX 1.20 (Evaluation) Archive/Extract utility - 68020/68030 Version
Usage: LZX [-<options>] <command> <archive> [<file>...] [<destdir>]
<command>:
a Add file(s) to archive r Replace file(s) in archive
d Delete file(s) from archive t Test file(s) in archive
e Extract file(s) u Update file(s) in archive
f Freshen file(s) in archive v[n] List file(s) [verbose]
l List file(s) [terse] x Extract file(s) with full path
<options>:
-a (ax) Preserve file attributes -q (ax) Configure console output
-bi(ax) Set input buffer size (Kb) -r (a ) Recurse into subdirectories
-bo(ax) Set output buffer size (Kb) -R (ax) Collect archives recursively
-c (ax) Confirm files/archives -s (a ) Add only files with no A bit
-C ( x) Clear arc (A) bit on extract -S (a ) Set A bit on added files
-e (a ) Archive empty directories -u (ax) Make file names upper case
-E ( x) Touch extracted files -U (ax) Set update rate (Kb)
-f (ax) Ignore filenotes -w (a ) Set work directory
-F (ax) Fast progress display -x (a ) Preserve path names
-k ( x) Keep partial extractions -X (ax) Control .LZX suffixing
-l (ax) Make file names lower case -y (a ) Store files with ratio >= x%
-m (ax) Disable interactivity -Y (a ) Compress archives
-M (a ) Set merge group size limits -0 (a ) Store files
-o (ax) On or after date (yyyy/mm/dd) -1 (a ) Fast compression
-O (ax) On or before date (yyyy/mm/dd) -2 (a ) Default compression
-p (ax) Pause after loading -3 (a ) More compression
-P (ax) Set task priority -- (ax) Stop further option parsing
@AddBuffers(V1.3,2.x,3.x in C:)
NAME
AddBuffers - Increase the sector cache for system
disk drives.
SYNOPSIS
AddBuffers DRIVE BUFFER
KEYWORDS
DRIVE
This is the name of the drive you want to buffer. It
can be either a floppy drive or a harddrive. Do not
assign buffers to RAM. You will slow down your system
considerably because all of its information is already
stored there. Only valid AmigaDos devices can be assigned
buffers.
BUFFERS
The number of 512-byte buffers to add. 15 is how
Commodore set up your start-up sequence. This is a decent
number but not the best if you have more than enough ram.
Commodore set the buffers to 15 because the first Amigas
carried only 512k of RAM. Optimum range is at about 30
buffers (15k of ram). And again at 100 buffers (50k of
memory). Number below 30 and above 100 will not do you
much good.
@AddDataTypes (3.x Only in C:)
NAME
AddDataTypes - Adds additional data types after
booting.
SYNOPSIS
AddDataTypes [files] [Quiet] [Refresh]
@Ask(V1.3 in C:) (v 2.x & 3.x internal)
NAME
Ask - Query user interactively.
SYNOPSIS
Ask Prompt WARN OK TIMEOUT
DESCRIPTION
Ask is a program that allows you to get a simple form
of input from a user. It is most useful in Execute
scripts.
You may specify a Prompt string, which will be
displayed to the user, and you may also specify a string
to match on for both YES and NO responses, as well as
specifying a time limit on the users response in seconds.
All of these strings have default values, the default for
the WARN string is 'Y', the default for the OK string is
'N', and the default for the Prompt is a single question
mark.
If the user enters a string which matches the WARN
string, Ask will exit with a return code that will cause
an IF WARN statement to succeed. If the user enters a
string which matches the OK string, exceeds the value
given in TIMEOUT, or simply hits RETURN then Ask will
exit with a ZERO return, suitable for the ELSE portion of
such an IF statement.
More simply: A 'yes' returns a 5. A 'no' returns a 0.
If the user enters a string other than those
specified in WARN and OK, then ASK will redisplay the
prompt, urging the user to give a better answer.
EXAMPLE
Here is an example of an Ask command which will
return a WARNING if the user types "Amiga", and an OK if
the user types "BigBlue", or waits longer than 10 seconds
to respond:
Ask "Amiga or BigBlue?" "Amiga" "BigBlue" Timeout 10
IF WARN ; typed amiga!
Echo "Obviously a person of quality"
ELSE ; typed big blue? or couldn't decide
Echo "You seem to be misguided"
ENDIF
@Asteriks (*) (1.3,/2.x/3.x internal)
NAME
* - 1) An escape character to allow quotation marks
in a filename.
2)May be used to refer to the currently active
console device.
DESCRIPTON
The asteriks may be used as an escape character to
allow you to insert quotation marks and other asteriks
in a filename. For this to work, you must place an
asteriks infront of any quotation mark or asteriks you
wish to include in the filename.
It may also represent the console device that's
currently active. For instance, if you wish to output
everything typed into the current CLI (ei the active
console device) to the printer or to a text file, you can
use the asteriks.
2.x/3.x ONLY: You may use the asterisk as a wildcard
(as in MSDos). But this may only be done if turned on by
some external software.
EXAMPLES
1) To create a file called: "ESCOM" Rules Amiga!
From a file called: "Commodore" Blew It!
copy from "*"Commodore*" Blew It" to "*"ESCOM*" Rules Amiga!"
2) To create a file called: "9*Fingers"
From a filed called: *Nine Fingers
copy from "**nine fingers" to "*"9**Fingers*"
note: Notice how the command line from file has all
lower case letters and the file sitting on the
disk has two capital letters in it. The CLI does
not see the case of the character, so the
command will work just fine.
3) To print out everything that shows up in the current
CLI:
copy * TO prt:
4) To copy everything that shows up in the current CLI to
a file name 'work:What_I_Did':
copy * to Work:What_I_Did
note: To stop copying to 'Work:What_I_did' you must press
the ctrl-\ key combination.
@Avail(V1.3, 2.x,3.x in C:)
NAME
Avail - Report memory statistics.
SYNOPSIS
1.3
Avail [CHIP] [FAST] [TOTAL]
2.x/3.x
Avail [CHIP] [FAST] [TOTAL] [FLUSH]
DESCRIPTION
Avail reports on the amount of memory available in
the system, its type, how much of each type is in use and
is free, and the largest single block of memory of each
type (also known as contiguous memory).
This command is useful with shell scripts to
determine if there is enough memory available to load a
program, file or graphic before you actually perform the
load.
OPTIONS
CHIP
Reports the total amount of free chip memory
FAST
Reports the total amount of free fast memory
TOTAL
Reports the total of all free memory, both fast and
chip.
FLUSH
2.x/3.x Only: This option will force all unused
devices, libraries and other resources out of the system,
which gives the most accurate report of available memory.
This will free you as much memory as possible by killing
all information in your memory not being used by any
program. This is useful to kill off all the residue of
processes that exited but did not give you all your
memory back.
EXAMPLES
1. To get all available system ram:
Avail
2. Show only Fast Memory
Avail Fast
@BackTick (2.x/3.x ONLY) (CLI Function)
NAME
BackTick- Allows you to include the text output of
one command to be the input of another command.
SYNOPSIS
SomeCLICommand `AnotherCommand`
DESCRIPTION
This is a new and important feature of 2.x/3.x.
BackTick lets you insert the text output of one command
to be the input of another command. For instance, if you
wanted to print the contents of the Work:ESCOM directory
with an informative header you would type this:
ECHO >prt: "The directories in work are:" `Dir
Work:ESCOM`
It's a good idea to know where this key is, so I'll
tell you. It is the key right above the Tab key. The
unshifted version of that key is the BackTick (`), the
shifted version is the Tilde (~). If you try to use the
parenthesis key (') your command will fail. There is a
difference between those two keys even though they look
similar on the screen.
The backtick command always evaluates itself at the
time it is issued. If you wish to have the backtick
command evaluated after several other commands have been
issued you must place the asterix (*) escape character
before each backtick.
For instance, lets say you want to create an alias
which displays the contents of the Gould:Loser directory.
You would type:
Alias grovel Echo "Contents of the Loser directory is: *`dir Gould:Loser*`
Now, whenever you want to see what is in that
directory you merely type 'grovel' and it will be shown.
But, if you don't include the asterixes then any changes
made to the Gould:Loser directory will not be reflected.
You will only see what was in that directory when the
Alias was first made.
With some experimentation you will find this DOS
function to be one of the most useful.
@BaseName(V1.3- arp component))
NAME
BaseName - Display the Base (filename) of a pathname.
SYNOPSIS
BaseName Path/a Suffix
DESCRIPTION
Basename extracts the filename from a long pathname,
displaying it to the standard output. You can also give
BaseName a suffix to delete. The most common use for
BaseName is in scripts, where it is used to generate new
filenames from old. This command is most useful with a
shell that supports command substitution and piping.
EXAMPLE
BaseName "DF0:Scoobie/Doobie/Foobar"
Foobar
BaseName "DF0:Scoobie/Doobie/Foobar.c" .c
Foobar
OTHER
This command is new with V1.3 of Arp, it is not
available with the Commodore distribution.
It has been replaced by several internal calls in
v2.x/3.x.
@Assign(V1.3, 2.x, 3.x in C:)
NAME
Assign - Binds a device name to a directory or file.
SYNOPSIS
1.3
Assign Name Dir Etc/... LIST EXISTS REMOVE
2.x/3.x
Assign Name Dir Etc/... LIST EXISTS DISMOUNT
DEFER PATH ADD REMOVE VOLS DIRS DEVICES
DESCRIPTION
Assign causes NAME: to be a synonym for a directory
or a pathname. This is referred to as a "logical"
device, since it appears to the Amiga and the user as a
device, but is in fact a directory. You can use this as a
convenient shorthand to refer to lengthy pathnames, or to
refer to a variety of different directories by the same
name (just change the assignment when you want the
program to change directories).
You can remove assignments by giving only NAME:, or
by giving a single minus ('-') as the directory or device
name. There are also specifice keywords to remove
assigns which will be covered later. In any case, all
assigns are lost when the system is shut off or rebooted.
In 2.x/3.x you can assign a single device name to
many directories by simply listing all of the directories
after the device name.
S:, L:, C:, FONTS:, DEVS:, LIBS:, T:, and SYS: are
all made during normal startups. All these assigns
directly relate with system operation. Therefor, they
should not be tampered with unless you are prepared to
crash your system! So, don't mess with system assigns
unless you know absolutly what you are doing...
If there is already a directory with an assignment,
any new assignment will replace it. You cannot, however,
assign the same name to a device that already exists. So
an assign to device Work: if a disk whose name Work: is
already mounted.
OPTIONS
LIST
Lists the current assignments. Under 1.3, if you
specify a single already assigned name on the command
line with LIST, it will be removed from the device list.
Under 2.x/ 3.x you can either make or remove assignments
along with listing them.
EXISTS
Takes a logical device name as an argument. If the
name exists, the device name and its assignment are
displayed. If the name does not exist, then the
condition flag is set to WARN (return flag 5). This will
cause an IF WARN batch file statement to succeed.
REMOVE
For 1.3: Takes a logical device name as an argument,
and removes it from the device list. This is useful
largely to individuals writing handlers, careless use of
this option can easily crash the Amiga. It will not,
however free up the memory that was taken up with the
assign.
For 2.x/3.x: It can be used to delete one directory
from a list of assigns. Opposite of ADD (see below).
DISMOUNT
2.X/3.X ONLY: Used exactly like the REMOVE keyword
for 1.3 to remove a device from a list of mounted
devices.
DEFER
2.x/3.x Only: Postpones the assign until a command
tries to access that device. Defer will not throw out an
error if it searches for a directory and it does not
exist.
PATH
2.x/3.x Only: This expands on the DEFER keyword.
Whereas DEFER eventually binds the assign, PATH keeps the
assign non-binding. Not only will it wait for a command
to access that device, but it will reevaluate the assign
every other time that device is requested for. (NB: This
is very convenient if you are a floppy only user. You
will not have to replace the Workbench each time FONTS:
is requested. Instead, you can insert different floppy
named fonts: each time that device is scanned for.)
PATH will not accept multi directory assigns.
ADD
2.x/3.x Only: Let's you add new directories to an
existing assign. For instance, if you assign a device
that is alread assigned you will lose your old assign. If
you use the ADD keyword, you will add the new assign to
the old assign.
VOLS
DIRS
DEVICES
2.x/3.x Only: Limits the information that is
displayed when you list your assigns. VOLS shows you only
which volumes are assigned, DIRS shows you only which
directories are assigned. DEVICES shows you only which
devices are assigned. If none of these keywords are used
then all three kind of information are displayed.
CAUTIONS
Random or careless assignments of the Amiga's
pre-assigned devices can cause mass confusion.
Random or careless use of the REMOVE option can cause
a GURU (and crash your sytem).
SEE ALSO
Execute
EXAMPLES
1.
ASSIGN DICTIONARY: df1:usr/lib/dictionary
DICTIONARY: may now be used as a synonym for the
complete path df1:usr/lib/dictionary. If a program uses
the logical device DICTIONARY: rather than a hardcoded
directory name, then changing the DICTIONARY: assignment
will change the dictionary that the program will use.
Assign allows a practically infinite number of
assignments or deletions to be made on one command line.
You may remove an assignment by using a minus '-' sign
instead of a logical directory or filename to subtract
this assignment from the device list.
2. To return all the assignments made to your system
just enter:
Assign
3. 1.3 Only:
To assign POOF: to the disk in DF0:, remove the
assignments for PUF: and DUF: and assigns CRUFT: to HD0:.
ASSIGN POOF: DF0: PUF: - DUF: - CRUFT: HD0:
4.2.x/3.x Only:
To assign multiple paths to one device:
Assign Music: Work:DeliTracker/Mods Work:OctaMed/Meds
To assign Fonts: to df0:Fonts only when a program tries to
access Fonts:
Assign Fonts: Df0:Fonts DEFER
@Alias (1.x,2.x,3.x Internal Command)
NAME
Alias - Create short names for longer command
strings.
SYNOPSIS
Alias [alias [string] ]
DESCRIPTION
This command lets you make short names (aliases) for
longer command strings. When a word is typed on the CLI,
AmigaDOS will subsitute a longer string for it. This
longer string may also contain arguments as well as
commands. It can also display a list of alias
assignments.
For an alias to become global it MUST be entered in
the s:shell-startup script. Otherwise, it can only be
used by the shell that created it or through the NewCLI
command called from the same shell it was created.
EXAMPLES
1. To shorten the Delete command to DL
Alias DL Delete
2. To copy df0: to df1: using cop
Alias cop Sys:System/Diskcopy df0: to df1:
3. To copy an entire directory (empty or not)
Alias cp copy [] ALL
(When you type cp directory
it gets expanded to:
copy directory All
@Binddrivers (1.3,2.x,3.x) (location: C)
NAME
Binddrivers - Mounts device drivers residing in your
Expansion Drawer.
SYNOPSIS
Binddrivers
DESCRIPTION
Locates device drivers reisiding in the Expansion
drawer of your Workbench: disk. It then activates those
drivers for use. This is useful to add devices to your
system harddrives that are not mounted by the operating
system.
You will also find binddrivers in your
startup-sequence. This way, it can mount any external
devices during startup. All external devices can be found
in the 'expansion' drawer of the Workbench. If you don't
have a device in your expansion drawer then this line in
the startup-sequence does not do anything.
Even if you do not use Binddrivers Commodore
explicitely says NOT to tamper with the start-up
sequence. So, delete this line only at your own risk.
NB: This is not part of 1.2.
EXAMPLE
1. To load the device drivers in the Expansion
directory of sys:
Binddrivers
@Break(V1.3, 2.x, 3.x: internal command)
NAME
Break - Send a signal to a background process.
SYNOPSIS
Break Process=T=Task/a A=ALL/s C/s D/s E/s F/s
DESCRIPTION
Many programs which run from the CLI will respond to
the typing of one of the control characters C D E or F.
By far the most common is control-C which usually causes
a process to terminate. If you execute a task in the
background (by using Run or ARun), you will not be able
to send it a break signal from the keyboard, and that is
where Break comes in. Once you know the CLI number of
the process you wish to signal (available immediately
after you run the process or by using the Status
program), you can send one of these control signals to
the background process. It simulates selecting a CLI
process with the mouse and pressing the specified
CTRL-key keystrokes.
You may trigger up to four breaks at a time.
EXAMPLE
1. To send a control C to background process number
2:
Break 2 C or Break 2 (Break defaults to control C)
2. To send ALL control signals to background process
number 3:
Break 3 C D E F or Break 3 ALL
3. 2.x/3.x Only: To signal a break to a program
running under the WAIT command:
Break 'STATUS Com=Wait'
CONSIDERATIONS
Not all programs respond to break requests.
SEE ALSO
Status
@CD(V1.3 in C:) (2.x/3.x Internal)
NAME
CD - Report or change the current directory.
SYNOPSIS
CD Dir
DESCRIPTION
CD when given a valid directory name, makes that
directory the current or default working directory. To
display the current directory, type CD without any
arguments.
It also has a simple pattern matching capability.
You may use a wildcard specification as an argument to
CD, CD will make the first directory it finds that
matches the pattern the current directory. Pattern
matching is utilized with the Amiga wildcards).
You can also move up one directory by using multiple
slashes (/). For instance, if the current directory is:
Work:Art/AGA by typing CD // you will change to the Work:
directory.
2.x/3.x only: You can also change directories by
simply typing the path name at the shell prompt without
typing 'CD'. The CD command is only needed if there are
any spaces in the path name. In this case you must place
the entire path in quotes.
NB: AmigaDOS handles default drives unlike any other
personal computer. Let's say you insert a disk named
Stuff: in df0: and type CD df0:. Then, you remove the
disk and insert a disk named Things: and type dir df0:,
you will be requested to insert Stuff: in df0:. To get
around this, merely type Cd df0: whenever a new disk is
inserted. This makes your Amiga read the new volume label
and it forgets all about the old disk.
EXAMPLE
1. To change directory to df0:libs
CD DF0:LIBS
2. To report current directory
CD
3. To make any disk in Drive 0 the current directory
CD ROOT
4. To change back to your root directory (2.x/3/x only)
CD :
5. To move back up two directories (2.x/3.x only)
CD //
SEE ALSO
Prompt
@ChangeTaskPri(V1.3,2.x,3.x) Location: C:)
NAME
ChangeTaskPri - Change a tasks execution priority.
SYNOPSIS
ChangeTaskPri [P=Pri] [T=TASK=PROCESS]
DESCRIPTION
By increasing/decreasing the priority of various
tasks in the system, you can increase/decrease the amount
of CPU time each task is allocated. If no type the
command without a number, it will return the task
priority number of that command.
If executed with no arguments, ChangeTaskPri will
return the priority of the currently executing process.
This is useful in shell scripts.
Your Amiga's operating system was created where each
task that is running gets assigned a priority from -128
to 127. The processor examines this number and prioritises
the tasks. The higher the number the more processing time
will be alloted to it by the processor.
WARNING: Never raise a task priority higher than 5 or
less than -5. If you raise it above 5 you will override
important system tasks such as the input handler (which
checks the keyboard and the mouse). If the priority is
below -5 it will be completely shut out of the CPU by the
most trivial of instruction.
EXAMPLE
1. To change task 3's priority to -5
ChangeTaskPri -5 Process 3
2. To Change current CLI's priority
ChangeTaskPri 5
3. 2.x/3.x ONLY: To utilize the backtick feature to
change the priority of the C:CONCLIP task to 5
ChangeTaskPri 5 Process 'Status com=c:conclip'
@Cmp(V1.3 ARP Only)
NAME
Cmp - Compare files and report differences.
SYNOPSIS
Cmp From With FULL QUICK ALL
DESCRIPTION
Use Cmp to display differences between binary or text
files. When comparing single files, the return code will
be set to WARN if the files do not match. This is useful
in scripts with IF statements. The return code on
complex pattern matches with more than one file will
always be zero. When specifying directories as either the
From or With arguments, you may use a dot which means
"current directory".
You can use either C-e (Control E) or C-f (Control F)
to abort the comparison of the current files and move on
to the next. This is most useful with multiple input
files and the FULL (see below) option. As usual, a C-c
(Control C) will abort the program all together.
INPUT FILES
You can specify the file or files to be compared
quite easily and naturally with Cmp using simple
pathnames or wildcard patterns or even directory names.
When you specify wildcards and/or directories to be
compared, Cmp will compare files with the same names in
each directory. Cmp will not abort if it cannot find the
second file, it will simply print an informative message
and go on to the next file. If you need to compare files
with different names, then you must specify each name in
full as the With name and the From name. A more detailed
explanation follows:
If From is a file, then With may be either a
directory or another file. If a directory is supplied,
then Cmp looks for a file with the same name as the From
file in that directory:
So, to a compare File with RAD:Dir/File2
Cmp File RAD:dir/File2
And to compare File with DirName/File
Cmp File DirName
You may also use a wildcard pattern as the From file.
In this case, the With name must be a directory. Cmp
expands the wildcard specification and tries to find
files with that name in the With directory:
Cmp File RAD:Foo/$?.c DF0:c
Finally, you can also use two directory names as the
From and With specification. This will compare all the
files of the same name in the From directory with all the
files of the same name in the With directory:
Cmp Dir1 Dir2
OPTIONS
FULL
This will display all points at which the two files
differ. The display is of the form "Offset: Byte1 Byte2"
where Offset is in decimal and Byte1 Byte2 are in hex.
Use C-e or C-f to move to the next file in the series, or
C-c to abort.
QUICK
The QUICK option will check to see if the two files
appear to be identical, by first comparing the date
stamps and file lengths, and if these are the same the
file comparison is skipped saving some time.
ALL
If there are subdirectories within the directories
you are comparing, the ALL switch will force Cmp to
recursively descend these directories, comparing files as
appropriate.
NOTE
This command is new with V1.3 of ARP, it is not
available with the Commodore distribution.
@CONCLIP (2.X/3.X only) (location: C:)
NAME
Conclip- Directs console device to use the clipboard
for cutting-and-pasting.
SYNOPSIS
CONCLIP [UNIT clipnum] [OFF]
DESCRIPTION
By default, the Amiga's console device only uses its
own internal buffer for copying and pasting. This command
directs the console device to use the clipboard for its
copying and pasting.
Copy-and-Paste lets you copy a block of text from a
console window by drag-selecting it with the mouse then
pressing RightAmiga-C. You can then paste this into
another console window by activating that console and
pressing the RightAMiga- V.
Conclip not only lets you paste into other consoles
but also into the window of any other application which
supports the clipboard.
It's an extremely good idea to make sure it is in
your Startup-Sequence. This way, you will not have to
worry about it.
Note: Conclip requires the iffparse.library to be in
your LIBS: drawer and the clipboard.device file to be in
your DEVS: drawer.
KEYWORDS
UNIT
Lets you specify the device unit number from 0 to
255. This designates the clipboard device number you
wish to paste to. You do not have to add the word 'UNIT',
you can merely specify the number.
OFF
Lets you turn off the clipboard device for that
console. There is really no need to do this as it will
never effect the operation of anything else.
EXAMPLES
1. To direct the console to use the clipboard to
copy-and-paste:
Conclip
2. To change the clipboard unit number used by the
console device to unit 3:
Conclip 3
(By the way, the console device is utilized to accept
keyboard and mouse strokes and print them to the screen.
The output goes to a console window. The CLI has its very
own console window.)
@Copy(V1.3,2.x,3.x) (in the C: directory))
NAME
Copy - Copy files.
SYNOPSIS
Copy From To ALL QUIET BUF=BUFFER CLONE DATES
NOPRO COM FLAGS QUICK
DESCRIPTION
COPY duplicates the contents of the file or files (if
wildcards or a directory is given) of its FROM argument
to the file or directory specified in its TO argument,
overwriting any existing file or files of the same names.
FILE SPECIFICATION
The From argument may be a file, a directory or a
wildcard pattern. You can use a dot '.' as either the
From or To directory to indicate the current directory.
Double quotes "" can be used to refer to the current
directory.
If you copy a file, you may give that file the same
name or a different name as the original. If the
destination has the same name as the original then the
new copy will replace it.
Copy can duplicate many copies of a file to the same
directory if dirrerent names are used. It can also
duplicate files to many different directories.
If the From argument is a directory or a pattern, the
To argument is assumed to be a directory or destination
replacement pattern. If the directory specified in the
To argument does not exist, it will be created for you.
If you include wildcard characters in the To
argument, these are taken to be a request to use a
pattern substitution for the destination filename. The
expected syntax is:
<optional_prefix>|<optional_postfix>
You may specify neither, one, or both of these
optional tags. If you exceed the length of an AmigaDOS
filename (30 characters as of this writing) the name will
be silently truncated.
You can also indicate which portion of the From
filename you want to be replaced by using the wildcard
characters in the source pattern. As an example, the
command:
Copy l#? TO Ram:
will copy all files beginning with an 'l' to the Ram:
directory.
In 1.3 you CANNOT use wildcards for Directory names,
only file names. 2.x/3.x allows this.
1.3 will not let you copy a file to a directory that
does not exist. In 2.x/3.x COPY will create a directory
if one does not exist.
If you copy a file to the same directory it cannot
have a file with that same name of the protection bit is
set on the file being copied to.
The from statement is not needed as long as the
source and target files are in the appropriate order. If
the orders are changed (Copy To filename FROM filename),
the FROM is required.
If you don't specify a directory, but the TO keyword
is used, then the current directory is copied to the
destination. For instance, COPY TO Work: will copy the
entire contents of the current directory to Work:.
Devices such as PRT: and SPEAK: can be designated as
the destination of any file being copied.
2.x/3.x Only: You can chose multiple FROM files as
well as multiple TO files.
OPTIONS
ALL
Copies ALL the files from the source directory to the
destination directory or device. This will recursively
descend all subdirectories found in the From directory,
and create them (if they do not already exist) in the To
directory. Without this switch, only the first level of
the directory hierarchy will be duplicated.
QUIET
Performs a Copy without reporting what it is doing.
This is useful for doing copies in the background, when
you do not wish to be disturbed by informative messages.
Note that errors will still be reported.
BUF=BUFFER
This allows you to specify the number of 512 byte
buffers used during the copy. Unlike the Commodore Copy,
which uses a fixed number of buffers if this option is
not specified (currently, 200 buffers), the ARP Copy sets
its internal buffer size intelligently as a function of
how much memory your system contains and the size of the
file to be copied. Using this option overrides this
intelligent behavior.
CLONE
This instructs Copy to duplicate the date, comments
and protection bits (except the archive bit) of the
original file. The default is to Copy only the
protection bits. (also see Environment, below). This is
the same as using both the DATE and COM keywords.
DATE
This option instructs Copy to duplicate the datestamp
(also see Environment, below).
NOPRO
By default, Copy duplicates the protection bits of
the file(s) (except the archive bit). Using this option
will override this behavior, and cause the file to be
created with the current system default protection (also
see Environment, below).
COM
This forces Copy to duplicate the comment for the
file. The default is not to duplicate the comment (also
see Environment, below).
QUICK
This ARP addition is a highly useful option which
will duplicate files only if the destination file does
not exist or is not the same. Copy uses the Datestamp,
Filesize, Protect bits, and also the Filenote (but only
if you have enabled copying filenotes) to determine
whether or not the file is the same. Since a byte by byte
compare is not done, it is possible to fool Copy.
However, in normal operation of the Amiga, this
dramatically speeds up Copies between directories and is
perfectly safe (also see Environment, below).
FLAGS
You can override the current setting of your
environment flags using this keyword. Any option
specified on the command line overrides the default
settings specified by the copyflags environment variable.
This keyword takes a string of the same type used for the
copyflags variable. For a discussion of these flags, see
Environment, below.
NOREQ
Normally, whenever you try to copy to a directory
that does not exist a requestor will pop up asking you to
insert it. If you do not want that little requestor,
then use this keyword. This is useful for when you want
to write a script for someone else who does not have a
device you want to try to copy to (such as a printer or a
speech device- speech devices were removed from the
Workbench with 2.0).
ENVIRONMENT
If you prefer a behavior for copy other than the
default, you can specify this behavior permanently by
setting a value for the copyflags environment variable.
This variable takes a string of characters composed of
the following:
N Always copy filenotes (see COM, above).
C Always copy original datestamp (see DATES, above).
Q Always copy QUICK (see QUICK, above).
P Never copy protection flags (see NOPRO, above).
O This flag does not correspond to any command line
arguments. When this flag is set, Copy will only
duplicate files which already exist in the destination
directory, it stands for 'OLD', and essentially
performs an update operation. This is extremely useful
when trying to update old software with new software.
These flags can be overridden by using a command line
option, or by using the FLAGS keyword to specify new
ones. Note also that case is not significant. You can
set the copyflags variable using Set, SetEnv, or directly
from the command line if you are using the Shell instead
of the CLI.
Set copyflags=CQ
SetEnv copyflags=CQ
The settings shown above is perhaps the most common:
it enables copying datestamps, protection bits, and the
QUICK option.
EXAMPLE
1. To perform an update from one directory to another
without using copyflags, use:
Copy NewDir OldDir FLAGS=O
2. To copy a file called TheFile to OtherFile in the
same dir:
Copy TheFile Otherfile
or
Copy TheFile to Otherfile
or
Copy To Otherfile From TheFile
3. To copy all the files from Df0: to Work:
Copy Work: df0:
4. To copy all files and subdirectories from df0: to
Work:
Copy Df0: Work: ALL
5. Copy all the files in the current directory to
Ram:
Copy "" Ram:
6. To Copy a file called Dudes in the current
directory to a file with the same name to a directory
called :WildWest/Cowboys, which is on the same disk:
Copy Dudes :WildWest/Cowboys
7. To Copy selected files from the current directory
to the Stuff: directory.
Copy "" Stuff:
@CPU (V2.x & 3.x only) (located in the C: Directory)
NAME
CPU - Identifies which processor you have (68000,
68020,68030, or 68040...). It also sets the advanced
options of non 68000 or 68010 processors.
SYNOPSIS
CPU Cache Nocache DataCache NoDataCache Instcache
Noinstcache ExternalCache NoExternalCache CopyBack
NoCopyBack Burst NoBurst InstBurst NoInstburst
DataBurst NoDataBurst Trap NoTrap FastRom NoFastRom
NoMMUText Check 68010|68020|68030|68040|68881|68882|
FPU|MMU
OPTIONS
Cache Nocache DataCache NoDataCache Instcache
Noinstcache ExternalCache NoExternalCache CopyBack
NoCopyBack:
These are used to control the cache features of all
Motorola processors over 68010. These higher end
processors all have higher end instruction caches, which
stores processes inside the CPU itself. This allows those
internal functions to perform lightening fast because
they are inherant to the CPU and do not have to be
retrieved from memory. Instcache/NoInstcache turns these
functions on or off.
The 68030 & 68040 have a data cache in addition to
the instruction cache. These allow data to be retried
from memory in one grand instruction, thereby lowering
your CPU's overhead. DATACACHE / NODATACACHE turns this
on or off.
CACHE / NOCACHE can turn on or off all the caches. In
1.3 caches are off by default and should be turned on
with the CPU command in your startup-sequence. 2.x/3.x
has them turned on as a default.
Some older programs (games mostly) that have problems
running with the higher end processors. These problems
may sometimes be solved by turning all the caches off.
2.1 has added the CopyBack and NoCopyBack flags.
These help you manage the datacache on the 68040 which
does not automatically update the cache as changes are
made to the data. By default, this is off because it
conflicts with too many programs to be of any use.
In addition to internal caches, there are also
external caches which can be turned on or off with the
ExternalCache or NoExternalCache flags.
Burst NoBurst InstBurst NoInstburst
DataBurst NoDataBurst:
If your Amiga's memory is configured to accept a
special processor mode which feeds data at a superduper
fast speed you can utilize the Burst mode.
InstBurst and NoInstBurst turn on or off the
instruction mode in databursts.
DataBurst and NoDataBurst turn on or off the data
mode in databursts.
Burst and NoBurst control both the instruction and
data modes.
Trap/NoTrap:
This is a programmer's debugging flag. These will set
or clear the memory access trap which warns you if your
program is trying to access the lower 256 bytes of memory
or any memory above the 16 megabyte address (this 16
megabye hit is only noticed in the 68000 processor, 68010
and above allow higher end memory to be addressed).
This illegal entry information is sent via the serial
port. To use this function there must be a 9600 bps
terminal hooked up to your serial port as well as the
higher end processor.
FastROM / NoFastROM:
The 68000 processor is a 32-bit processor that is
accessed 16-bits at a time. If you add an accelerator
that has a full 32-bit processor and an MMU, you can
remap the kickstart into that 32-bit RAM and the MMU will
make it appear as though that is where the Kickstart
really lives. The FastROM command moves the ROM image
there, while the NoFastROM removes it from that area.
NoMMUTest:
Lets you remap kickstart to 32-bit ram without
actually checking to see if it is being used. This is a
function of the MMU (Memory Management Unit).
Check 68010|68020|68030|68040|68881|68882|FPU|MMU
This is used to check for the existence of why type
of processor or co-processor you have installed. For
example, if you type: "CPU Check 68000" and you have a
68000 installed, it will return a 1. If you have any
other processor installed a 0 will be returned.
EXAMPLE
1. To turn off the instruction cache, turn the data
cache of, and move the Kickstart ROM image to protected
32-bit memory:
CPU NoInstcache NoDataCache FastRom
@Date(V1.3, 2.x, 3.x) (Locatin C:))
NAME
DATE - Set or display the system date.
SYNOPSIS
DATE [Date] [Time] [TO=VER]
DESCRIPTION
Date is used to set the systems idea of the current
date and time, or to display the systems idea of the
current date and time.
To display the current system time simply use Date
with no arguments. You may specify a TO or verification
file to send the date to, if no TO file is specified, the
date is displayed in the current window.
To set the time you use the format HH:MM:SS where H
stands for hours, M stands for minutes, and S stands for
seconds. Leading zeroes are optional for all versions
except 1.2. 1.2 requires that you include a leading zero
before the 10th month.
Commodore has a very strict formula for the date
formats. If you type a two digit year from 78 to 99
AmigaDos will translate that as 1978 to 1999. If you type
a two digit number from 00 to 45 AmigaDos will translate
that as 2000 to 2045. You cannot enter a year from 1946
to 1977.
If you accidently set a year from 0 to 45 all files
created will have the datestamp from the 21st century.
When you finally discover your mistake, and change the
date back to a correct date, that file will be
datestamped 'Future' since the 21st century is in the
future.
Saturday, Sunday, Monday, and the rest of the days of
the week can be used as flags. The system will evaluate
the day then advance the system date to match the
specified day of the week. So, if it is Monday and you
specify Thursday, the system clock will advance by three
days.
FOR 1.3 Only: SETCLOCK is used in the
startup-sequence to automatically read the system's
hardware clock (if present). The A1000 and A500 did not
come with a clock installed. Therefor, AmigaDOS would
check the boot disk for the date of most recent file and
sets the system date according to that. The Date command
is then used to set the proper date and time. This was
lost anytime you rebooted the computer or utilized the
SETCLOCK SAVE command.
FOR 2.x/3.x: The clock is read automatically by the
system without utilizing the SETCLOCK command. Therefor,
you will never see it listed anywhere.
EXAMPLES
1. To use default AmigaDOS format.
SET dateformat=0
2. To set the date, using AmigaDOS format
Date 1-jan-88
3. To set the date to the next day's date and the
time to 12:00
Date Tomorrow 12:00
@Delete(V1.3, 2.x, 3.x...in C: directory))
NAME
Delete - Delete any number of files or directories.
SYNOPSIS
Delete [Files] [ALL] [Q=QUIET]
DESCRIPTION
Under 1.3 you can only delete up to ten files or
directories with a single Delete command. Wildcards are
acceptable.
Under 2.x/3.x you can specify any number of files to
delete on the command line, and you can also use wildcard
patterns for any or all of these files.
OPTIONS
ALL
By default, you can only Delete empty directories.
If you wish to Delete a directory and everything it
contains, you can specify this option on the command
line. Note that directories may contain other
directories, which themselves may contain directories or
files: This option will delete that entire branch of the
directory tree, including these additional directories
and files.
Q=QUIET
If you use the ALL switch, or if you specify wildcard
patterns, Delete displays a message with each file that
it deletes. This option causes Delete to do its work
silently, though error messages are still reported.
FORCE
If the 'd' protection bit is set for a file or
directory then that file is protected from deletion. But,
by using the FORCE keyword, any file will be deleted
including the ones that are 'protected'.
EXAMPLE
1. Delete all files in the current directory
Delete #?
2. Deletes all files in the directory which start
with this or that.
Delete (This|that)#?
@Dir(V1.3, 2.x/3.x) (located in the C: directory)
NAME
Dir - Pretty display of files and directories.
SYNOPSIS
DIR Dir OPT [ADFHIS] SIZE INTER HILITE FILES DIRS ALL
DESCRIPTION
Dir by itself displays any files and directories in
the current directory. By default, Dir will display any
subdirectories, one per line, and then any files, in two
columns, in sorted order. Directories are followed by
the string "(dir)".
You can specify an alternate directory to display as
an argument, and you may also use wildcards. If you use
wildcards, Dir will display all files that match that
wildcard pattern. If it encounters a directory during
the course of its search for matching patterns, it will
display the name of the directory, and also its contents.
OPTIONS
OPT
This flag along with a single letter can represent
the option you desire, or you may use the clearer keyword
equivalents supplied. The options and their keyword
equivalents are described below:
SIZE or OPT S
This ARP option displays the names of the files and
their sizes in two columns on the display device. If a
directory is encountered, it is identified as usual with
a "(dir)".
HILITE or OPT H
This ARP option enables pretty printing of Dirs
output. All directory names will be displayed in inverse
video.
FILES or OPT F
This displays only files, any directories found will
will not be displayed.
DIRS or OPT D
This displays only directories, any files found will
not be displayed.
ALL or Opt A
This option displays the complete contents of that
branch of the directory tree. As Dir descends a level,
the indentation is increased to make the organization of
the disk clearer to the eye. You may use some of the
other options or keywords along with ALL to generate the
display you need.
INTER or OPT I
This allows interactive file browsing through a
directory or a disk. Using this option, you will be
presented with a file or directory name, followed by a
question mark. You can find out what additional options
are available to you at this point by typing another
question mark '?', and pressing return. These are:
B=BACK
Moves backwards, up the directory tree. If you are
at the top, this will exit the listing.
DEL=DELETE
This will delete the current file.
E=ENTER
This will enter a directory. Note that you must be
at a directory entry in order for this option to be
valid.
Q=QUIT
This will quit Dir.
T=TYPE
This will type the current file.
C=COM
This takes any command as an argument, and sends it
to a subshell. Any shell command can be used here,
including the IO Redirection operators (<, >, and >>).
If you do not specify a command as an argument, you will
be prompted for one.
EXAMPLES
1. To get a listing of all directories on drive DF1:
DIR DF1: ALL DIRS
or
DIR DF1: OPT AD
2. To get a listing of all directories and files and
the sizes of the files on drive df0:, as well as
displaying the directories in inverse video do:
DIR DF1: ALL SIZES HILITE
or
DF1: OPT ASH
@DiskChange(V1.3, 2.x, 3.x) (located C:))
NAME
DiskChange - Inform AmigaDOS that a 5 1/4 disk has
been changed.
SYNOPSIS
DiskChange Dev
DESCRIPTION
5 1/4 inch disk drives do not detect when there has
been a disk swap, and therefore cannot inform AmigaDOS.
After changing disks in the 5 1/4 inch disk drive, you
must issue this command. You will also need to do this if
you make a change to the disk's name using Relabel and
you want the Workbench to hear about it.
Note that DiskChange may also be useful with other
types of media, such as removable media hard disks, or if
you are running FFS on floppy drives.
EXAMPLE
1. To inform AmigaDOS that you have changed a disk in
an external 5 1/4 inch drive.
Diskchange df1:
2. To inform AmigaDOS that you have changed a disk in
an external 5 1/4 inch disk drive that is mounted right
behind a 3 1/2 inch external drive:
Diskchange df2:
@DiskCopy (1.2 in C: Directory) (1.3, 2.x, 3.x internal)
NAME
Diskcopy - Copies entire diskettes.
SYNOPSIS
DiskCopy FROM (source drive) TO (Destination drive)
NAME (VolumeName) VERIFY MULTI
Other computer systems require you to format a disk
before you make copies of old data. The Amiga lets you
copy to a disk that has information already stored on it.
All that old information will be lost though. This lets
you make backups of all important disk while helping you
dispose of files that you no longer use.
DiskCopy is very useful because it takes just as much
time to format a blank disk as it does to perform a
diskcopy. But, if you only have a few files you wish to
copy, it may be quicker to just delete the files on the
destination disk you don't need using the delete command
then using the Copy command to transfer the ones you
want.
DiskCopy can also be used devices of different types.
For instance you can copy between Ram: and Rad:. Or, df2:
and Ram. But, for it to work with Rad:, Rad: must contain
the same number of tracks (80) and blocks per track (11)
as a floppy device.
KEYWORDS
FROM
This is the source, or the device you are copying
from. If you only have one disk drive, this will be df0:
or the actual name of the disk mounted there (eg
MyDisk:). It can also be df1:, df2:, df3:, or df4: (if
you actually have these optional drives). OR, it can be
the RAD: or RAM: drive as stated before. Remember you
RAD: must be created in the same nature as a regular disk
drive for this to work.
TO
This is the desitination, or the device you are copying
to. If you have only one diskdrive the copy may take quite
a few disk swaps. This is because the contents of the source
disk gets buffered into ram: before getting transferred to
the destination disk. If you have an original 256K A1000,
this may take up to eight swaps. If you have an unexpanded
A500, you're looking at about three swaps. If you have one
meg of ram, you should not need to swap more than once.
If you have two diskdrives you are the lucky one. This is
because you will not have to make any swaps either because
the data is passed straight through between the drives.
If you have 1.3 the TO keyword is mandetory! The command
will not function without it. But, under 2.x/3.x you do not
need to put this keyword.
NAME
This is the name you are giving to the new copy. If you
don't give a name, then the new volume will have the same
name as the original. Despite the names being the same,
there is some 'hidden' information on the disk which will
distinguish the two disks from each other.
When diskcopy is stared, and the disks are being copied
a neat little status bar opens up on your window showing
you the progress as all 80 tracks are copied. YOu can
cancel this process at any time by hitting the control
break keys: Ctrl-C and then Return. If you hit these keys
after the copying has already started, all information on
the destination disk will be lost. The destination disk
will also be rendered useless until it is formatted or
diskcopied again.
NOVERIFY
As AmigaDOS copies a disk, it verifies each sector
after it formats it. If you don't want AmigaDOS to check
its steps, then use this keyword.
There is no point in using this keyword. It is better
to be safe than sorry. And a few seconds of time spent
verifying your copying will save you tons of hearache later.
MULTI
Lets you load the entire disk into memory (if there is
at least 880k of free memory). You can then insert as many
destination disks as you want making multiple copies. The
system will prompt you when it is ready for the next disk.
EXAMPLES
1. To make a copy from df0: to df1:
Diskcopy from df0: to df1: ; for any version of AmigaDOS.
Diskcopy from df0: df1: ; for 2.x/3.x only
Diskcopy df0: df1: ; for 2.x/3.x only
@DiskDoctor (V 1.3 and 2.04. Omitted after 2.04) (in
C: directory)
NAME
DiskDoctor - Reconstructs the file structure of
corrupted disks.
SYNOPSIS
DiskDoctor (drivename)
DESCRIPTION
This can be described in two words: it sucks. It is
useless. It has no purpose on any computer. That is why
it was removed after 2.04.
The concept was to repair directory and file
structures that were destroyed for any number of reasons.
These reasons can be anything from removing the disk
while it is still being accessed to a nuclear explosion.
When any type of magnetism comes in contact with your
floppy the data is scrambled and AmigaDOS can't read
anything there. You will get a variety of errors such as
'Volume is not validated', 'Not a DOS disk', 'Disk is
unreadable', or the ever so present 'Checksum Error' if
such damage occured.
Diskdoctor attempts to correct the damaged data on
the disk and save as much of it as it can. DiskDoctor
can only attempt to repair FFS disks if the DEVS:
Mountlist is set to 0x444F5301 under the DOSTYPE keyword.
DiskDoctor is quite reckless when it repairs your
disk. You see, after it retrieves what data it can
salvage overwriting other information that may still be
used on the disk. It does this over- writing
indescriminatly without recognition of importance or
existence.
Therefor, if you ever use DiskDoctor, make sure you
are trying to repair a copy of your disk. There is no
reason to use this when there are so many fabulous
disksalvage programs. The most notible is DiskSalv
created by David Haynie (former Commodore engineer and
all around Amiga Demi-God). His program along with the
many other USEFUL salvage programs that actually work are
listed in the 'Replacements' selection of this reference
program. Quarterback Tools (no longer being developed)
and AmiBack Tools by Intelligent Designs are both running
close second to DiskSalv.
EXAMPLES
I'M NOT GIVING ANY. THIS PROGRAM IS TOO STUPID AND
USELESS TO EVEN ACKNOWLEDGE IT WITH AN EXAMPLE.
@Echo(V1.3 in C:) (2.x/3.x internal))
NAME
Echo - Echo a string to the terminal.
SYNOPSIS
Echo [string] NOLINE FIRST LEN
DESCRIPTION
Echo displays its argument to the current output,
this can be the printer, a file or the terminal. Echo is
typically used in scripts, but it can also be used (and
useful) to send escape sequences to things like printers.
2.x/3.x only: You can use echo to output a file to
the environment. This is shown in the example below.
Note that with the added keywords, you MUST use
double quotes to delimit a line to echo under 1.3. Under
2.x/3.x you don't need the quotes ONLY if it appears last
on the command line.
If you want to add a line feed, use the *N character.
But, if you use this option in either 1.3, 2.x, or 3.x
then quotes must be used.
OPTIONS
NOLINE
This suppresses the newline which Echo automatically
adds at the end of its argument. This is useful in that
it allows you to build a single line of text using the
output of two or more commands.
FIRST
This option takes a numeric argument, which indicates
which character position to begin output at. Any
character before FIRST will not be displayed. This is
useful with LEN (see below).
LEN
This option takes a numeric argument, which indicates
how many characters to output. If you also supply a
FIRST argument (see above), character output will begin
with that character, for LEN characters. If LEN is used
without the FIRST keyword, then the final LEN characters
will be displayed.
EXAMPLES
1. To display "Hello World" on the terminal.
Echo "Hello World!"
2. To advance the printer paper, and displays Hello
World! on the printer. Note that you must have set your
escape character to \ for this example to work.
Echo >PRT: "\FHello World!"
3. To display "ello World!".
Echo First 2 "Hello World!"
4. To display "rld!".
Echo Len 4 "Hello World!"
5. To display "World!".
Echo First 7 Len 6 "Hello World!"
6. To print the text file Ram:This.text to your
screen.
Echo Ram:This.text
@Ed (1.3, 2.x, 3.x located in C:)
SYNOPSIS
The Amiga's built in full-screen text editor.
Ed is a complete text editor. Due to the huge scope
of the available commands you should consult your Amiga
System manual on how to exactly use Ed.
If enough people contact me to include a full
tutorial in DOSMan, I will write one.
FORMAT
1.3:
ED FROM (name) [SIZE (numchars)]
2.x/3.x:
ED [FROM] name] [SIZE numchars] [WITH comfile]
[TABS interval] [WINDOW device] [WIDTH columns]
[HEIGHT rows]
KEYWORDS
FROM
This is the name of the file you wish to edit.
If the file does not exist, Ed will create it. This keyword
is optional as long as it is the first arguement in the
Ed statement.
SIZE
This sets the size of the buffer which ED uses. If
this is the second arguement in the command line, then
the keyword is optional, you only need to type the number.
SIZE defaults to 40,000 bytes. If your buffer is not big
enough to hold the file you are editing, then you will
get a warning message informing you of this from Ed.
WITH
2.x/3.x Only: This lets you make an Ed command file
to execute automatically. This is a command file that
contains a list of extended instructions for Ed that
will execute when the file is run. This exists in the
form of a script. See your Amiga's manual on how to set
up this command script.
TABS
2.x/3.x Only: This lets you set how many spaces will
be skipped when you hit the Tab key. The default Tab is
three spaces.
WINDOW, WIDTH, HEIGHT
2.x/3.x Only: The combination of these three commands
would allow you to open Ed on a remote terminal. Window
lets you specify this device (for example, AUX:). The
Width and Height lets you set the demensions of the new
window.
2.x/3.x Only: You can also edit binary files, not just
plain ASCI text.
EXAMPLE
1. To edit a text file called ThisText in the
Work:TextFiles directory.
Ed Work:TextFiles/ThisText
2. To edit a really big file of 75,000 kbytes in the
Work:TextFiles
Ed Work:TextFiles/ReallyBig.txt SIZE 80000
@EDIT (1.3, 2.x, 3.x) (Located in the C: Directory)
SYNOPSIS
An AmigaDOS line editor.
FORMAT
EDIT [FROM] fromname [TO] toname [WITH] withname
[VER] vername [OPT W chars or WIDTH chars] [OPT P lines
or PREVIOUS lines]
EXPLANATION
Unless you grew up with UNIX and really dig line
editors you should really try a different program (even
Ed) before you dive into Edit.
What does set Edit apart from Ed (and most other text
editors) is that it is able to edit binary files and it
can execute a predefined list of line editor commands.
Please note that starting with version 2 of Ed you
can do the same thing, so there is really no need to keep
both of these programs hanging around on your system
disk.
KEYWORDS
FROM
EDIT requires the FROM keyword. This will tell EDIT
which file to edit. This filename must exist. EDIT will
not create the file for you like Ed will.
TO
This will tell edit where to save the file to once
you decide to finish. If this is the second command in
your arguement, you do not need the TO keyword.
EDIT is limited in the fact that it will not
overwrite a file that already exists. If the TO filename
is the same as the FROM filename then instead of
overwriting the FROM filename it will be save the
original as :t/edit.backup. The file you are working on
then gets named and saved as the FROM filename.
WITH
This specifies a file which will be used as input to
EDIT's command options. The contents of WITH must be a
series of valid options for it to work. If WITH is the
third argument in an EDIT command line, the keyword is
optional. If you don't use this keyword you must manually
input your parameters.
Due to the huge scope of available commands you
should consult your Amiga System manual on how to
configure EDIT.
If there is enough of an interest I will write a full
tutorial on how to configure EDIT.
VER
This lets you specify where to send the output of
EDIT to. You can send the output to any logical device
including PRT: to print it.
OPT W or WIDTH
OPT P or PREVIOUS
This lets you set the actual physical size of EDIT.
WIDTH lets you set the actual line length. PREVIOUS lets
you designate how many lines will be kept in EDIT's
history buffer.
The default for line length is 120 characters and the
default history buffer is 40 lines. If you multiply the
WIDTH by the PREVIOUS you will get the exact amount of
RAM you need to reserve as a work buffer. This amount can
be set with the STACK command.
If you set the OPT W and OPT P options, you must use
the OPT keyword with the W or P letters.
EXAMPLES
1. To edit a file called MyText in the default
directory:
EDIT MyText
2. To edit a file called MyText and to save it under
a file called YourText that is 5000 lines long:
EDIT FROM MyText TO YourText OPT P5000
3. To edit a file called MyText and to use the editor
commands located in the edit.prefs file (which you
created earlier). The data will then be saved as
YourText. And, to send all the messages and verifications
from EDIT to your printer while setting the number of
lines to 50 and a line width as 175:
EDIT FROM MyText TO YourText WITH edit.prefs VER
PRT: OPT W175 OPT P50
See also:
STACK
@Else (1.3 in C:) (2.x/3.x internal)
NAME
Else - FALSE clause of IF conditional.
SYNOPSIS
Else
DESCRIPTION
Else is used in combination with IF to perform
conditional testing. If the IF conditional fails,
control will be passed to the commands following the
ELSE. If the IF conditional succeeds, then the commands
following the ELSE (up to the concluding ENDIF) will be
skipped.
Note that Workbench 2.x and above contains a builtin
version of this command. The 1.3 of Else cannot be
executed outside of a script, while the 2.x/3.x version
of Else can be executed inside or out of a script file.
SEE ALSO
IF ENDIF Execute
@EndCLI (V1.3 in C:) (2.x/3.x internal)
NAME
EndCLI - Terminate a CLI or Shell.
SYNOPSIS
EndCLI
DESCRIPTION
EndCLI causes a shell process to terminate. The
shell will shutdown, freeing all of its resources and
closing its window (if it is interactive).
Note that if another program is still using the
console for a CLI, you may not be able to close a console
CLI window even after running ENDCLI until you terminate
that command. This is most likely to occur if you have
"RUN" some command from the CLI and it is still executing
when you try to EndCLI.
2.x/3.x Shell contains this command as a builtin.
Also, you can press the CTRL-\ or click on the close
button to exit your shell.
SEE ALSO
NewCLI NewSHELL
@EndIf(V1.3 in C:) (v 2.x/3.x internal)
NAME
EndIf - Show end of IF ELSE Conditional.
SYNOPSIS
EndIf
DESCRIPTION
This is used to mark the end of a conditional block
in a script. Note that in 2.x/3.x this command is
builtin.
If the tested condition proves false then all
commands after ELSE and before ENDIF are executed. If the
tested condition is true, then all commands after the IF
and before the ELSE keywords are executed.
SEE ALSO
IF ELSE Execute
ENDSHELL (1.3: Alias) (2.x/3.x Internal)
NAME
ENDSHELL - Exactly like ENDCLI except it can close
the CLI or Shell window.
SYNOPSIS
ENDSHELL
DESCRIPTION
This terminates the CLI or Shell window just like the
ENDCLI command does.
Under 1.3 this command does not actually exist. It
is created in the startup-sequence with the Alias
command. But, it acts exactly like ENDCLI.
SEE ALSO
ENDCLI
@EndSkip(V1.3 in C:) (2.x/3.x internal)
NAME
EndSkip - Unconditionally abort a SKIP in progress.
SYNOPSIS
EndSkip
DESCRIPTION
If EndSkip is encountered after executing a Skip
command in a Script, the Skip will be aborted, and the
fail level will be set to WARN.
Note that in 2.x and 3.x this command is builtin.
SEE ALSO
Execute Skip Lab
@Eval(V1.3, 2.x, and 3.x in C:)
NAME
Eval - evaluate arithmetic and logical expressions.
SYNOPSIS
Eval Value1/a Op Value2 TO/k L=LFORMAT/k
DESCRIPTION
Eval computes the results of simple arithmetic and
logical expressions as applied to two arguments, and
displays the result on its standard output. Numeric
arguments may be input as:
Decimal
This is the default, no extra qualifiers needed.
Hexadecimal
Enter hexadecimal numbers as 0x<number> or
#x<number>, for example: 0x1A or #x1A.
Octal
Enter octal numbers as 0<number> or #<number>, for
example: 0777 or #777.
Binary
Binary numbers (in ARP eval only) may be entered with
#B, for example: B1111
Character
Characters are supported only by the Commodore Eval.
The operations supported are given below:
addition + not ~
subtraction - left shift <<
multiplication * right shift >>
division / negation -
mod mod exclusive or xor
and & bitwise equivalence eqv
or |
Any fractional amounts that result from this process
are discarded.
OPTIONS
TO
You can send the output of Eval to a file which is
indicated in the path with this keyword.
L=LFORMAT
You can control the output format of Eval using this
keyword.
There are four formats you specify: hexadecimal (%X)
Octal (%O), Decimal (%N), or ASCII (%C). The hex and
octal formats require a number after the letter to
indicate how many letters you want to print. For
example, to display a hexadecimal number in a field of 8,
you can do LFORMAT="%08lx". You can also include escape
characters (such as *n for a newline) inside your LFORMAT
string. For this release of Eval, you also need to
always use the 'l' (for long) format character with all
format commands. The default is set to Decimal.
You can also include any text you desire in the
format string by using quotes. For example:
LFORMAT = "There are %N widgets sold."
EXAMPLE
1. To find the sum of 2 + 2 and print the answer as 2
octal digits followed by a new line character.
EVAL 2 + 2 LFORMAT = "%O2*N"
@Execute(V1.3, 2.x, and 3.x in C:)
NAME
Execute - Cause the shell to execute commands from a
file.
SYNOPSIS
Execute [Filename] [ARGS...]
DESCRIPTION
Execute causes the shell or CLI to read the commands
from the filename specified as Execute's input argument.
When the end of the file is reached, control returns to
the keyboard. You can force the Shell to abort any
script file processing by typing a C-d (Control D)
sequence while the script is being executed.
You can even include nest an Execute inside your
script to cause one script to call another one during its
execution.
In AmigaDOS 1.3 and above, you can execute a script
without typing EXECUTE and just typing name of the script
if the 'S' bit is set.
KEYWORDS
FILENAME
The name of the script to execute.
ARGS
Any arguments to be passed to the file. These may be
any valid AmigaDOS string (including filenames and all
sorts of devices.
DIRECTIVES
Execute recognizes several special commands known as
Directives. Each of these Directives begins with a DOT
'.', but this character can be redefined if needed.
Execute is reasonably flexible in allowing you to
redefine its special characters, which is quite
fortunate, as you will soon see.
In order for Execute to recognize these directives,
the DOT character must be placed at the beginning of the
line, and the directive name must follow immediately,
with no intervening whitespace. You can also use the DOT
(again, at the beginning of a line only) to introduce a
comment. This usage is ".<whitespace>Anything" where
whitespace is any of space, tab or newline.
Many of these directives deal with passing arguments
to scripts and establishing defaults for arguments.
These are described below:
.KEY and PARAMETERS
The .KEY directive (which may be abbreviated as .K)
is used to declare the names of parameters which will be
used in the course of the script file. Note that these
are not environment variables. If you intend to pass
arguments to a script file, it is wise to use this
directive as the first line of a file. If the first
non-empty line (i.e., a line which contains anything
other than a newline) does not contain a dot command
(directive), then the arguments will not be processed.
The .KEY directive accepts any legal template. These
are the same kinds of templates you see all the time in
the AmigaDOS commands. Note that currently, there is no
support for multiargs (the /... template type) in
scripts, and so you should not use this in your
templates. All the usual processing associated with
templates is active in scripts, including the '?' display
of the template, and position independent arguments.
When you use the .KEY directive, Execute matches up
the users arguments with your template keywords, and if
no error occurred, scans the file for any items
surrounded with the BRA KET characters. These are
initially '<' and '>', which is quite unfortunate, since
these tend to conflict with the IO redirection operators.
It is wise to change these to another character using the
.BRA and .KET operators (see below).
When a BRAKET sequence is encountered, Execute
replaces the keyword inside the BRAKET with the users
argument. If the user did not enter an argument for that
keyword, and there is no default setting for this
keyword, then Execute removes the argument all together,
resulting in a NULL string. Arguments that do not take
an argument, for example, switches (template type /S),
are handled somewhat differently. If the user supplied
the switch on the command line, then the braket sequence
is replaced by the actual name of the switch, otherwise,
it is null.
DEFAULT VALUES FOR PARAMETERS
This assigns the value string to all occurrences of
the substitution argument described below.
You can set default values for your variables in two
ways. The first way is to use the .DEFAULT directive.
.DEFAULT (which may be abbreviated as .DEF) takes a
template keyword and a default value. If that keyword
does not have a value at the time the .DEFAULT statement
is scanned, then Execute binds the value to that keyword.
Here is an example of its use:
.DEFAULT Foobar "Testing123"
Another way to set default values is by using the
DOLLAR (initially each time the parameter is used, it
does not set it permanently:
Echo "<Foobar$Testing123>"
Note that a .DEFAULT statement will override all
following DOLLAR defaults. The decision as to which to
use is usually based on how many times you use that
parameter. If you only use it once, then either will do.
If you use it many times, then .DEFAULT is probably the
simplest. Also note that there is not a conflict between
this use of the DOLLAR and the use of the dollar during
Shell environment expansion: The DOLLAR is special to
Execute only inside of BRAKETS, and the shell expands the
environment variables only after Execute has parsed the
file. Unless you use environment variables inside of
BRAKETs, there should be no need to change your .DOLLAR
character.
You can also use a double DOLLAR inside of brackets.
This will be replaced by the current CLI number.
CHANGING THE META CHARACTERS
The following directives are used to change the
default meta characters used by Execute. Each take a
single character as their argument.
.BRA and .KET
These change the bracket characters (initially '<'
and '>', respectively) to something else. It is highly
recommended you make a habit of doing this, whether you
think you need to or not. Good characters to use instead
are the curly braces ('{' '}') since these are not needed
for anything else, currently.
.DOT
This changes the DOT character (initially '.').
.DOL or .DOLLAR
This changes the DOLLAR character (initially '$').
MISCELLANEOUS
Execute may be nested, i.e., you may include Execute
commands in scripts, which can also contain Execute
commands.
Execute will sometimes need to write a temporary
file. If you have assigned a directory or device to T:,
then this location will be used. If not, and there is a
:T directory for the current directory, then Execute will
create the assignment, and use this directory.
Otherwise, it will attempt to create both the directory
and the assignment in the current directory. EXECUTE uses
<$$> with the task number of the CLI from which it is run
to create this.
EXAMPLES
1. To execute a script named RunThis located on Df0:
EXECUTE df0:RunThis
2. Here is an example of a KEY directive which
contains a switch. This illustrates a good way to handle
and use /s style arguments in script files.
.KEY MySwitch/s
IF "<MySwitch>" EQ "MySwitch"
Echo "The switch is on!"
ELSE
Echo "The switch is off!"
ENDIF
If the user doesn't supply MySwitch as an argument on the
command line, then the comparison will fail (the first
argument will be ""), otherwise, the comparison will succeed
(the switch is "on").
SEE ALSO
If Skip Failat Lab Echo Quit
@Failat(V1.3 in C:) (2.x, 3.x internal)
NAME
Failat - To set a fail level for a batch file.
SYNOPSIS
Failat RCLim
DESCRIPTION
When using Execute to run scripts, any command that
returns an error greater than the current value of the
Fail level will cause the shell to abort the script with
an error message. You can use Failat to increase or
decrease this level to whatever you need. The shell will
reset the Fail level (usually 5, 10, 20 but can be any
number) at the end of every script execution, so scripts
always start out in a known state.
Under 2.x/3.x the result code is stored int the
environment variable RC, which is represented by $rc. The
bigger the return code, the bigger the error. If the
severity of the error is higher than the number you set
then the script stops running.
Once your FAILAT has been run in the script, the
FAILAT level returns to 10.
You can use FAILAT to a very high number and test the
return codes that any of your IF statements return.
EXAMPLE
1. To temporarily set the failure level to 30
Failat 30
This now makes it possible to execute commands that return
error codes greater than 20, which would ordinarily cause
Execute to stop with an error message.
2. To display the current failure level threshold.
Failat
@Fault(V1.3 in C:) (V2.x/3.x internal)
NAME
Fault - translate numeric error codes to ascii text.
SYNOPSIS
Fault Fault/...
DESCRIPTION
Normally when your Amiga has an error it returns a
requestor telling you what you need to do. Many errors do
not bother to open up this requestor, only a number (for
example, 'Last command failed with error 330). This
command accepts numeric those error codes and turns them
into system error messages, or if the error code is not
defined the numeric code is again displayed.
Translates all the faults into English-lanuage
explanations.
The CLI and Shells (and many programs) call on Fault
to report their errors for them.
In 2.x/3.x this fault code is stored into the
variable 'result 2'.
The AmigaDOS command also does this but may not root
out the exact problem. If the AmigaDOS command WHY does
not satisfy your cuiriosity of what the error was about,
then using Fault directly after it will expound on it.
EXAMPLE
1. To display the error message associated with fault
code 220:
FAULT 220
2. To display the error messages with fault codes
216, 220, and 330:
FAULT 216 220 330
@FF (ONLY in 1.3) (DOES NOT exist in 2.x/3.x)
SYNOPSIS
FF - Speeds up the text display.
FORMAT
FF [-O] [-N] [fontname]
EXPLANATION
This only exists in 1.3 because 2.x/3.x have fast
text routines that are inherit with those systems. If you
are using a standard 8x8 or 10x9 font FF will speed up
the display of the text on 1.3 machines.
Not only that, but you can use FF to replace the
format system font as long as it is of the proper size
and is fixed width. 2.x/3.x uses the Font Prefrences in
the Prefrences drawer to perform this same task.
KEYWORDS
-O
This tells FF to speed up the text. It is on by
default.
-N
This tells FF to turn off the fast text routines and
can be turned back on by reissuing the command.
[fontname]
This tells FF to replace the system default fonts
(TOPAZ80 and TOPAZ60). The font you use to replace it
must have the NewFont.font file as well a drawer which is
associated with that font file containing the data for 8
or 9 size fonts, or both.
If you designate a font that does not have those
files available, the default Topaz fonts will be used.
EXAMPLES
1. To turn on fast text routines:
FF
or
FF -O
2. To turn on fast text routines while replacing the
system fonts with the Neat.font:
FF Neat.font
@Filenote(V1.3, 2.x, 3.x in C:)
NAME
Filenote - Sets a comment for a file.
SYNOPSIS
Filenote [File]filename Comment
DESCRIPTION
You can set a comment for a file of up to 79
characters using this command. You can also remove the
comment for a file using this command by specifying a
null comment string. Comments may be viewed with the
list command.
When you COPY a file, the note does not get copied
with it. When you RENAME a file, the note stays attached
to that file. If you change the file in any way, except
COPYing it, the file note does not get effected. If you
add another filenote to a a file that already has one,
then the old one gets deleted and the new one replaces
it.
If you LIST a directory, these filenotes are
displayed. The notes will appear right below the file
name with a : in front of it. If there is an icon
attached to that file, then you can read or write a note
through that icon's information window.
These filenotes do not effect the file they are
attached to in anyway what so ever.
KEYWORDS
FILE filename
This is the file the note is to be attached to. If this is
the first argument in the command string then the FILE keyword is
optional.
1.3 only: Only one file can be annotated at a time.
2.x/3.x only: Wildcards are completely acceptable.
You can also annotate as many files as you like at the
same time.
COMMENT string
If this is the second argument in the command string then the
COMMENT keyword is optional. This defines the note that is to be
attached to it. The string must be enclosed in quotation.
ALL
2.x/3.x only: Lets you add the same note to all the files in
the specified directory and all its subdirectories.
QUIET
2.x/3.x only: Does not list the files as the notes are being
added.
EXAMPLE
1. To attach a note that says "Here it is!" to your
file ThisFile
Filenote FILE ThisFile COMMENT "Here it is!"
2. To attach a note that says "Don't delete this no
matter what!" to the File Important.text
Filenote Important.text "Don't delete this no matter what!"
SEE ALSO
Copy List
@FORMAT (1.3, 2.x, 3.x in SYS:System)
NAME
Format- Initializes a disk as being blank.
SYNOPSIS
FORMAT [DRIVE] [drivename] [NAME] [string]
[NOICONS] [QUICK] [FFS] [OFS]
[INT=international]
[NOINT=nointernational]
[DIRCACHE] [NODIRCACHE]
DESCRIPTION
FORMAT takes a disk and initialises it to make it
empty. You can also specify a name for it, but it you
don't it will name it 'empty.
WARNING: All information on the disk will be erased
while using this command.
After typing FORMAT, you are prompted to insert a
disk and hit the RETURN key. After you hit RETURN you
cannot turn back. It can be interrupted by hitting the
CTRL-C and then RETURN. But, some data will be lost.
As the format occurs, the status of the format is
displayed. Each cylinder number (0-79 for a double
density floppy) clicks by on the screen until every
cylinder is initialized then verified. After this entire
process the volume name is assigned.
If you are copying one disk to another DISKCOPY is a
much faster command. This is because you must first
FORMAT, then INSTALL, then COPY ALL the from between the
disks. If you are using DISKCOPY all these steps are
performed by the DISKCOPY command.
The only time the FORMAT-COPY ALL routine is better
than the DISKCOPY is when the information on the source
disk have been deleted and rewritten so many times that
the contents of the disk have become scattered. By
formating the disk then copying all the files over, you
are consolidating them. By consolidating them you will
greatly speed up your disk accessing time. The only time
DISKCOPY will be better on a scattered disk is if you
optimize the disk first using one of the many optimizing
programs available.
KEYWORDS
DRIVE drivename
The drive which contains the disk to be formatted.
The valid entries are df0: df1: df2: and df3:.
FORMAT can be used on any logical device. These
devices include harddrives, recoverable ram drives, or
even removable media which is readable/writeable.
WARNING: Make sure you are typing the write device
name. By typing DH0: instead of DF0: my cause you lose
the entire contents of your harddrive when you just
wanted to format a floppy disk.
NAME string
This is the name you are giving to the disk you are
formatting. The NAME keyword is absolutly mandatory. The
NAME can be up to 31 characters long and if it contains
spaces must be contained in quotes.
NOICONS
With this keyword prevents the Trashcan from getting
created during the format process.
QUICK
This keyword makes FORMAT initialize only write over
the root-block, the boot block, and the bitmap block,
without formating the rest of the disk. This is good to
do whenever you are formatting a disk that already has
been formated before because it is many times faster.
But, this keyword will not work if the disk has never
been formatted before.
FFS
This keyword forces the disk to be formatted with the
Fast File System (FFS). FFS lets you keept much more
information on the disk than the OFS (Old File System).
WB 1.3 cannot boot from FFS and may have trouble reading
them. 2.x/3.x use this by default.
OFS
This keyword forces the disk to be formatted with the
Original File System (OFS). OFS does not hold as much
information as FFS.
INTL=INTERNATIONAL
This keyword corrects a case-sensitivity problem
associated with international characters. For instance,
some languages have letters that other languages don't.
INTL ensures that the proper characters are displayed and
stored. I don't recommend using this because people using
pre-2.0 Amigas will not be able to read the disk.
NOINTL=NONINTERNATIONAL
This keyword will keep the international mode from
being formatted onto the floppy. For information on the
International mode see the INTL keyword description.
NOINTL is Format's default.
DIRCACHE
This speeds up the opening of drawers, file
requestors, and listing on that disk. It is OFF by
default. A disk formatted with the DIRCACHE on cannot be
read by pre-3.0 Amigas. So, only AGA machines can read
disks formatted with DIRCACHE on.
NODIRCACHE
This keyword will keep the DIRCACH mode turned off.
For more information on DIRCACHE see the DIRCACHE
keyword. NODIRCACHE is the system default.
EXAMPLES
1. To format a disk in Df1: and naming it My_Disk:
FORMAT DRIVE df1: NAME My_Disk:
@GET (2.x/3.x Only) (Internal Command)
NAME
GET - Shows the contents of a local environment
variable.
SYNOPSIS
GET varname
DESCRIPTION
A named text string that is stored in an environment
space is a local environment variable. It can only be
accessed through the shell it was created in or from a
shell that was spawned from the shell it was created in.
OK... so what's the difference between GET and
SETENV. Well, SETENV is stored in the RAM disk and is
global to all system functions. GET resides in some
private (reserved) memory that may only be accessed as
described above.
By placing a dollar sign before the name, you can
swap the value of a local environment variable on the
command line. In other words, if you type 'ECHO $Peter'
you are creating the same local environment variable as
GET Peter.
KEYWORDS
varname
This is the name of the environment variable to get.
There are many local environment variables which are
already created by the 2.x/3.x operating systems. The
proper use of these makes AmigaDOS a very flexible and
powerful scripting language. The more important and
useful of these variables are:
Process
The process number of the current Shell
Echo
Decides whether or not the Shell will repeat each of
the commands as they are executed. If 'SET Echo on', then
the commands are repeated and displayed. Anyother use of
Echo will not allow any commands to be repeated. Turning
Echo on helps you to debug any scripts that you are
having problems with, since there is no other way to tell
how they failed. With Echo on, you can tell which line in
the script failed to work.
RC
The return code of the last command that was
executed. You can manipulate this return code instead of
using IF WARN or IF FAIL commands structures. This is a
more efficient programming algorythm routine.
Result2
The error number of why the last command failed. You
can use the FAULT and/or WHY commands to try to figure
out the exact nature of the error.
EXAMPLES
1. To print the contents of an environment variable
named StupidMahedi:
GET StupidMahedi
@GetEnv(V1.3, 2.x, 3.x)
NAME
GetEnv - display value of environment variable.
SYNOPSIS
GetEnv Name
DESCRIPTION
GetEnv displays the values of Environment variables.
These variables are accessible to all tasks (unlike GET
which is only accessible to the environment which created
it).
GetEnv searches both the older Environment variables
and the new ENV: handler if it exists. (Note that ENV:
is currently just a directory in RAM:, it is not a true
handler).
GetEnv prints the contents of this file.
KEYWORDS
varname
The name of the environmental variable to get. This
is the name of the file that is found in the ENV:
direrectory located in RAM:.
Kickstart/Workbench
2.x/3.x Only:
These are created during startup. They contain the
version of your Kickstart and Workbench that is currently
being used by your system.
Editor
2.x/3.x Only:
Some Workbench programs such as MORE are able to
recognize the environmental variables. If you set this
variable to the pathname of your favorite text editor,
then MORE allows you to bring up the program to edit the
current file by pressing Shift-E.
SEE ALSO
Set Get
@IF(V1.3 in C:) (2.x/3.x Internal)
NAME
IF - Add intelligent branching to scripts.
SYNOPSIS
IF NOT WARN ERROR FAIL string1EQstring2
string1GTstring2 string1GEstring2 VAL EXISTS
DESCRIPTION
If the condition tested by IF evaluates to TRUE, then
the commands immediately following the IF, up to the
following ELSE or ENDIF, are executed. If the condition
tested by IF evaluates to FALSE, it moves the execution
of the file ahead to the command following the next ELSE
command (if there is one), or to ENDIF, if there is no
intervening ELSE.
The ELSE command (if used) must show up between the
IF and ENDIF statements.
CONDITIONS
Each of the following will evaluate to true or false:
WARN
This will be true if the return code value set by the
last command is greater than or equal to 5.
ERROR
This will be true if the return code value set by the
last command is greater than or equal to 10.
FAIL
This will be true if the return code value set by the
last command is greater than or equal to 20. Note that
you will have to use a Failat command to raise the
default fail limit from 10 to above 20 if you wish to use
this test.
string1EQstring2
This takes two strings, and will be true if both
arguments are the same (i.e., EQUAL). The default is a
string comparison, but see VAL, below. The comparison is
not case sensitive. The test can be reversed by using the
NOT keyword with it. It can be a numberic comparison if
you utilize the VAR keyword. Strings 1 & 2 are normally
text, if there are spaces in the strings then quotes must
be placed around it.
Environmental variables may also substitute a string
by using a dollar sign ($) directly before the the
variable name (so, $Amount represents the variable
Amount).
string1GEstring2
Takes two arguments. This will be true if the first
argument is Greater than or Equal to the second argument.
This may be combined with NOT (see below) to perform a LT
(less than) test. The default comparison is a string
compare, use VAL to compare numbers. Strings 1 & 2 are
normally text, if there are spaces in the strings then
quotes must be placed around it.
Environmental variables may also substitute a string
by using a dollar sign ($) directly before the the
variable name (so, $Amount represents the variable
Amount).
string1GTstring2
Takes two arguments. This will be true if the first
argument is Greater than the second. This may be
combined with NOT (see below) to construct a LE (less
than or equal to) test. The default comparison is a
string compare, but use VAL to compare numbers. Case
sensitivity does not matter. Strings 1 & 2 are normally
text, if there are spaces in the strings then quotes must
be placed around it.
Environmental variables may also substitute a string
by using a dollar sign ($) directly before the the
variable name (so, $Amount represents the variable
Amount).
EXISTS
This takes one argument, which should be a device,
file or directory. This will be TRUE if the device, file
or directory exists.
MODIFIERS
The following options to IF modify the meaning of the
above tests:
NOT
Inverts the sense of the test. This is always used
in combination with another keyword. As an example, the
line: "If NOT EQ" will be TRUE if the EQ is false. This
modifier combines with any of the others.
VAL
This affects the type of compare done by the EQ GT
and GE keywords. By default, the comparison is a string
compare. However, if you specify this keyword, the
comparison performed is numeric.
If you don't use the VAL keyword then the string will
be compared one numeral at a time from left to right.
For instance the string 22 will be shown to be greater
than 011 since the first character is 0 in the second
string which is smaller than 2 in the first.
OTHER
2.x/3.x contains this command is internal. The only
other difference between the 1.3 & 2.x/3.x version is
that the 2.x/3.x version can be executed directly from
the command line, while the diskbased version cannot.
EXAMPLE
1. If you are running Workbench 3.0, the CLI will say
"An Execellent decsion. If you are running any other OS
then you get a message saying "Why not?"
IF EXISTS Workbench3.0
Echo "An excellent decision!"
ELSE
Echo "Why not?"
ENDIF
SEE ALSO
Execute Assign
@Info(V1.3, 2.x, 3.x in C:)
NAME
Info - report information about mounted file
system(s).
SYNOPSIS
Info NAME DATES
DESCRIPTION
This command displays important and useful
information about each disk unit. INFO displays what disk
volumes are in use and the amount of strorage they have.
INFO also will display the name of all the disks
residing in any physical disk drive. This is helpful if
you in helping you remember what volumes are mounted
where. You also get a list of available volumes is also
listed (those mounted and unmounted).
The 3 1/2 inch disk has 880k of space available to
them. After you format it under OFS (Old File System) you
only have 837k left. If you use FFS (Fast File System)
you have a full 879k to use. If you are fortunate enough
to have a high density drive, then you can use 1759k of
disk space.
The entire disk format is stored in sectors. There
are 1758 usable sectors on the Amiga disk. OFS's divide
each sector into 488 bytes whereas FFS has a full 512
bytes per sector. High Density disks use 3518 bytes per
sector. INFO will report the number of sectors already
used on the disk and how many are available for use. RAM:
is dynamic. That means, it will always be reported as
100% full (even if it is empty) and will expand as needed
until it is full.
INFO will also report if there are any 'soft' errors
on your disk. So, what is a soft error? Well, it is a
temporary error. For example, an error reading
information from a disk. If the system cannot read the
information off the disk, it will retry a couple times.
If all reads fail then you have a hard error. If one of
your reads is successful then the original read that
failed is flagged as a soft error.
It also reports whether or not disk disk is write
protected. If it is listed as 'Read Only' then your write
protection tab is set. If it is listed as 'Read/Write'
then it can be written to as well as read. The RAM: disk
cannot be protected from reading or writing, but the
files you put in there can be protected from deletion
with the use of the PROTECT command.
KEYWORDS
NAME
This keyword lets you get the information of one
particular device without getting all the info for
everything else.
EXAMPLES
1. To show the information regarding the disk volumes
known to the filing system:
INFO
2. To print out the information regarding the disk
volumes known to the filing system:
INFO > PRT:
3. To show only the information pertaining to df1:
INFO df1:
@Install(V1.3, 2.x, 3.x in C:)
NAME
Install - Do the magic which makes a disk bootable.
SYNOPSIS
Install Drive NOBOOT CHECK
DESCRIPTION
This command should be used on all formatted floppy
disks that you might wish to startup the system with.
INSTALL adds the minimum amount of information to
make that disk bootable. If a blank disk is INSTALLed it
will bring up the AmigaDOS prompt, but that's it. To
invoke any AmigaDOS commands the entire path to that file
must be included.
If you boot with the INSTALLed disk, it becomes the
Sys: directory.
If you use INSTALL on a non-Amiga formatted disk, or
one with a custom boot-block, you will probably destroy
that disk. So, be careful how you use this command.
The drive specified may be one of DF0:, DF1:, DF2: or
DF3:.
OPTIONS
CHECK
This option checks to see if a disk is bootable, and
if standard bootblock code is installed on the disk. For
use in script files, if the disk is bootable and contains
standard bootblock code, the error code is set to zero,
otherwise, the error code is set to WARN.
NOBOOT
This option removes any bootblock from a DOS disk,
and may also be used to make a non-DOS diskette readable
as a DOS diskette. This can be used to get rid of
unwanted information (aka Virus's) that may be hanging
out on your diskette.
FFS
The disk will usually be given the boot block
associated with that particular file system (OFS- Old
File System for 1.3 or FFS- Fast File System for
2.x/3.x). This will force your system to install an FFS
disk in Workbenches under 2.1. After and including 2.1
you are unable to force an FFS disk on an OFS only
system.
SINGLE DISK DRIVE WARNING!!!
If you're not careful with your this program you can
ruin your Workbench disk. Here's how to INSTALL a disk on
a single drive system.
You will not be prompted to enter the disk after you
type INSTALL. So, this makes using INSTALL on single disk
systems very dangerous. Normally, your C: directory will
be assigned to the Sys: disk in df0:. So, if you insert
the Workbench disk in df0: then type INSTALL ?, you will
then get a command template that looks like this:
DRIVE/A. Now, eject your Workbench disk then put in the
one you wish to install and then type DF0: after the
template then return. Now, the disk you wanted to install
will be installed.
EXAMPLES
1. To install a boot file on the disk in df2:
INSTALL DRIVE df2:
@IPREFS (ONLY in 2.x/3.x) (located in C: directory)
NAME
IPREFS - Managages the Preferences scheme in 2.x/3.x.
SYNOPSIS
IPREFS [QUIT]
DESCRIPTION
This command will read all the preference settings in
the ENV:Sys directory and puts those settings into
effect. IPREFS hangs out in memory and looks out for
changes made to the preference settings.
For IPREFS updating functions to work you must have
all the windows of any process running closed that have
opened up on the Workbench. You willknow if you have
something open when you try to reset a Preference setting
and get a message saying: 'Intuition is attempting to
reset the Workbench screen. Please close all windows
except drawers.' If you get this during bootup then you
probably entered a command in the startup-sequence before
IPREFS was run. This is a good reason why you should not
alter your startup-sequence and make any extra programs
run from your user-startup script. But, if you absolutly
must enter a command before IPREFS, then run its output
to NIL:. So, to run 'NeatProgram Keywords Arguments'
before IPREFS, then you should enter it as 'NeatProgram
>NIL: Keywords Arguments'.
KEYWORDS
QUIT
Under 2.x only: This lets you quit IPREFS while
keeping all the Prefrences intact. This keeps anything
from changing the preferences as they are updated. This
was removed under 3.x.
NOTE: IPREFS is started during system startup. If you
try to run it again you will get an error message saying
that you already have it runnig and that you can't run it
again.
@Join(V1.3, 2.x, 3.x in C:)
NAME
Join - Combines (joins) many files into one larger
file.
SYNOPSIS
Join name1 name2.... AS or TO destname
DESCRIPTION
This program combines several files into one larger
file, which may also be a device such as a printer or
modem. It accepts wildcards as its arguments. Wildcards
are only supported under 2.x/3.x. 1.3 MUST have more than
one name.
This command will alphabetize the wildcarded
filenames before using them. If you specify only one
name, then a simple Copy will result. Any number of files
may be specified in the command line, and each one may be
a wildcard specification.
KEYWORDS
name1 name2...
These are the files you will combine. Under 1.3 you
must place at least two names here, with a space between
each name (up to 15).
AS or TO
This is the name of the new file into which the
contents of the other files are placed. This can be a new
file or an old file, but it can't be any of the files
which precede the AS or TO keyword.
ADDITIONAL CONSIDERATIONS
You may prefer to use TYPE for joining files rath
than JOIN. JOIN is included for backward's compatibility
with batch scripts. The one advantage of Join is that it
runs a bit faster than TYPE concatenating large files.
EXAMPLE
1. To combine the three files File1 File2 and File3
into one large file named FILES1-3. Note that the
original files are unharmed.
Join File1 File2 File3 AS FILES1-3
@Lab(V1.3 in C:) (2.x, 3.x in C:)
NAME
Lab - Define a label for Skip.
SYNOPSIS
Lab label_name
DESCRIPTION
Lab is used to define a label for use with skip. Lab
by itself defines a null label. Note that if an EndSkip
is encountered by Skip before the Label Skip is searching
for is found, the search will be aborted at that point.
EXAMPLE
1. In this example, only "But this will" will display
on the CLI. Just type this script out and run it to see
exactly how it works:
Skip DODAH
Echo "This will not display"
Lab DODAH
Echo "But this will"
SEE ALSO
Skip EndSkip
CAUTION
With the V1.3 version of SKIP, you should NOT
indent a LAB statement or that label will not be found.
@List(V1.3, 2.x, 3.x in C:)
NAME
List - List contents of a directory.
SYNOPSIS
List listname Dir P=PAT/k KEYS/s DATES/s NODATES/s SUB/k
SINCE/k SORT/s TO/k UPTO/k QUICK/s BLOCK=BLOCKS/s
NOHEAD/s FILES/s DIRS/s LFORMAT/k
DESCRIPTION
List displays the contents of a given directory. By
contents, we mean the names of the subordinate files and
directories, not the file data. Typing the List command
by itself with no parameters generates a listing of the
current directory. It also lists any comments attached by
a FILENOTE command.
THE LISTING DISPLAY
List displays your files and directories one per
line, with all the protection flags currently turned on
right next to the filename. The fields which may appear
in a Listed file are
name [KEY] size/type protection date time
:comment
Methods are provided for getting a selective listing
of files, as well as suppressing/adding most of the above
display elements.
A description of each one of the above elements is
given below:
Name
The name of the file or directory. This can be a
device or volume name. AmigaDOS wildcards are supported
100%. The inclusion of wildcards eliminates the need for
the P (or PAT) keyword. PAT is retained to keep
compatiblility with older versions of AmigaDOS.
KEY
This is the actual block number of the file or
directory block header. This is not displayed by
default, you must use the KEYS switch to generate this
element of the listing.
size/type
This element gives the size of the file in bytes, or
the string "empty" if the file is empty. If this is a
directory and not a file, then the directory indicator
("Dir") will appear here.
protection
The protection bits of the current file, in the order
hsparwed. If any of these is disabled, a dash (-) will
appear in its place. The protection bits stand for
"hidden, script, pure, archived, read, write, execute and
delete", respectively.
date time
The date and time of the last modification to the
file or directory. The format of the date display is
determined by the value of the environment variable
dateformat. These elements of the listing appear by
default, but may be selectively added or subtracted by
using the DATES or NODATES keywords.
comment
The comment as set by Filenote. If no comment
exists, this field will not be displayed. Note that it
is displayed on a line by itself, preceded by a colon.
SELECTIVE LISTING OF FILES
The methods described in this section allow you to
list a portion of the files and directories on your
disks. Ways exist to generate a list of files that
conform to a certain pattern, or that were
created/modified before or after a certain date. You may
also combine these options, for example, you may get a
list of all files which end in .c and were created or
modified since a certain date. These options are
described below:
Dir
List this directory instead of the current directory.
This parameter may be a filename, in which case the
single file is shown. You may also use any legal
AmigaDos pattern in this position, in which case the
files and directories listed will be those which match
the pattern, if any. (This feature was added to the BCPL
List in the V1.3 enhancer.)
PAT
List only files and directories which match the
pattern. You must specify the keyword PAT or its
abbreviation P. This is no longer truly necessary with
the expanded capabilities of AmigaDOS wildcards, since it
is usually more convenient to simply include the pattern
in the directory specification as described above. It is
included for BCPL compatibility.
SUB
In this option the SUB keyword must come before the
string. If spaces are in the string, it must be enclosed
in quotes. With the inclusion of AmigaDOS wildcards, this
keyword is really not needed. It searches for an
occurence of the substring anywhere within the directory
name or filename. Think of this as a short form of "List
PAT *substring*" or a long form of "List *substring*".
List will reject any attempts to combine the use of PAT
and S. Wildcards in the initial DIR argument are matched
and then checked again to match against the substring.
SINCE
While the pattern matching options above filter files
and directories on the basis of their names, this option,
and the following UPTO option, filter out files based on
their last modification date. SINCE displays only files
which have been created or modified on or later than the
specified date. All older files are not displayed. You
may specify the date in the currently defined dateformat
(see Environment Variables) or you may use a word such as
SUNDAY, TODAY, YESTERDAY, etc.
UPTO
The inverse of SINCE, this option displays only files
and directories which have been modified or created on or
before the specified date. Files younger than this date
are not displayed. See SINCE for a description of the
date format list expects.
FILES
Display only files, and not the directories.
DIRS
Display only directories, and not the files.
CONTROLLING THE DISPLAY
The options below allow you to alter the format of
the display listing, or to send it to another file or
output display device (that's usually a printer).
TO
You can specify a file or a device you wish the
listing to be sent to using this keyword. If not
specified, the default of the current screen will be
used. If the file already exists then the old file will
be replaced (and gone forever) while being replaced with
this new file. If the protection bit is set on the old
file LIST will not work. It is very useful to LIST TO
prt: to get a hard copy of your disk listing.
DATES
Forces the date and time of creation to be displayed
in the current dateformat. This keyword does not have to
be used unless you are using the QUICK or NODATES
keywords.
NODATES
Will not display time and date information, only the
filename, size, protection and comment fields will be
displayed. Using DATES with this will force the creation
dates and times to display.
QUICK
Displays only the filename field, one filename per
line, with no trailing spaces. You can LIST just the
files or direcotries by using the FILES or DIR options.
You can combine this with other options such as DATES and
KEYS to selectively enable these fields. Under 2.x/3.x
KEYS no longer works with this keyword.
KEYS
Displays the block number of each file header or
directory header. All files are assigned using block
numbers. This is how AmigaDOS keeps track of your files.
Each file has a unique block number assigned to it. This
is its address on the disk. The block number appears to
the left of the file length.
SORT
Sorts the file and directory names into ascending
alphabetical order. Case is disregarded. Note that this
is an option available only with the ARP list. Sorts by
DATE if you include the DATES keyword.
BLOCK=BLOCKS
Displays filesizes in blocks, rather than bytes.
NOHEAD
Suppresses the default "Directory..." header and the
"x files -x directories -x blocks used" footer display.
LFORMAT
LFORMAT can be used to control the output of list,
and especially to generate command lines to be fed to the
shell. LFORMAT can is most useful when you want to
generate a script file. To send the LIST output to a
script file, you can either redirect LIST's output using
the ">" or "TO" keywords. LFORMAT takes a string as an
argument which can be any ascii string.
The LFORMAT substring can be used multiple times.
This allows you to use the listing name more than once
per line. The second time you use the string the first
relative path will be replaced by %S, and the path of the
second argument will be used (BTW, a relative path is
merely the list of directories you must traverse to get
from the specified directory to the current one.) If you
use three substrings, then the first will be replaced by
the relative path, while the second and third will be the
file or subdirectory names. If you use it four times, the
first and third will be the relative paths, and the
second and fourth will be the subdirectory or file names.
To include the output of List in this string, you can
use the "%S" sequence under 1.3 or 2.x/3.x as follows:
"%S" Filename
"%S%S" Pathname/Filename
"%S%S%S" Pathname/FilenamePathname
"%S%S%S%S" Pathname/FilenamePathname/Filename
The following information may be substituted for the
string as output and is for 2.x/3.x Only:
%A :Attributes (protection flags)
%B :Size of file in blocks
%C :Comments attached to the file
%D :Date of file creation or last update
%F :The complete absolute path (starting with the
volume name)
%K :Key block number
%L :Length of the file in bytes
%N :Name of the file
%P :The relative path(starting at the current directory)
%T :Time of creation or last update
The following information may be substituted for the
string as output and is for 2.1/3.x Only:
%E :Extension only (the part of the filename after the
last period)
%M :Filename minus the extension (everything up to
the last period)
ALL :Lists the contents of all the subdirectories of the
specified directory, as well as the directory itself.
The %S's may be separated by spaces, other ascii text
or nothing, as above. Here is an example of LFORMAT that
will create a script to Type each file:
List LFORMAT="Type %S%S"
Of course, to use this, you must save it in a file
using TO or one of the IO Redirection operators ('>',
'>>'). If you are using 2.x/3.x, you can also pipe the
output of List directly into the Execute command.
ENVIRONMENT VARIABLES
The List uses the same dateformat variable as used by
the Date command, and in essentially the same way. If it
is not defined, or if it has an illegal value, the
default AmigaDOS display and input is used. Otherwise,
the display and the input of dates is determined as
follows:
0 AmigaDOS format DD-MMM-YY.
1 International format YY-MM-DD.
2 U.S. format MM-DD-YY.
3 Canada DD-MM-YY
If you prefix the above numbers with a dash, then the
display of names like TODAY, MONDAY, FUTURE, etc., will
be disabled and the format string as defined above will
be used exclusively. Note that this governs the format
that List expects as input as well as the format List
uses for display.
EXAMPLES
1. To display all files in df1: ending with the
characters "#?.c" which were modified later than TUESDAY
at 00:00 hours.
List df1:#?.c SINCE WEDNESDAY
2. To output just the names and dates for items in
the current directory beginning with the letters 'stuff'
that were created or last updated on or before April 16,
1967. Sent the output out to a file called 'StuffOut' in
the Ram:T directory.
LIST stuff#? QUICK DATES UPTO 16-Nov-67 TO Ram:T/StuffOut
3. To list the information about the contents of the
current CLI directory.
LIST
4. To print the block number of all the files in the
current directory.
LIST KEYS to PRT:
or
LIST > PRT: KEYS
5. To display the information about the files in the
directory art/adult whose names contain the string
'girls'
LIST art/adult/#?girls#?
(note: Information about both 'Really Ugly Girls' and
PrettyGirls would be displayed)
6. To set the pure bit of every file in the stuff:
directory.
LIST >RAM:ThisFile stuff:#? LFORMAT "protect %S +p"
(now you have a file called Ram:ThisFile which contains
the commands to set the PROTECT bit on all the files in the
stuff: directory. Now, just EXECUTE RAM:ThisFile
@LoadLib(V1.3 only)
NAME
LoadLib -- Explicitly load an Amiga library.
SYNOPSIS
LoadLib dev:dir/library-name
DESCRIPTION
THIS COMMAND IS NOT NEEDED BY 2.x/3.x.
UNDER 1.3 ONLY: This is a new command which is
occasionally very useful. If you should happen to boot
from a disk that does not have arp.library in its libs
directory you will not be able to use the ARP commands
directly. This is an unusual situation, but it can
happen. LoadLib presents the solution to this problem by
allowing you to load the library directly from whatever
directory you want. After a successful LoadLib of
arp.library, you may use any ARP command you like.
Note that you are not confined to loading
arp.library, any diskloadable library may be brought into
memory in this way, this can help a lot when your
bootdisk gets too crowded.
EXAMPLE
1. To boot from a disk without arp.library on it, and
then insert your boot disk in drive 1, then type:
LoadLib df1:libs/arp.library
This will allow you to execute any ARP command. Note
that LoadLib cannot use arp.library, and therefore it is
missing some features, such as the advanced argument
parsing, that most ARP supplied commands have.
OTHER
This command was donated to ARP by William Hawes. The
founder of AREXX.ø
@LoadResource (3.1 only)
NAME
LoadResource - Locks and loads a resouce to memory.
SYNOPSIS
LoadResource [NAME] [LOCK] [UNLOCK]
DESCRIPTION
LoadResource is used to pre-load a certain resource
(library, device etc.) to memory before it is actually
used.
This may be used to reduce loading time of these
resources. But, this reduced loading time is not without
a price. That resource you load will continue to take up
memory until the next reboot or a "LoadResource <name>
UNLOCK" followed by a FlushLibs (either via WB menu if
you loaded WB with -DEBUG option or via the command
"avail flush").
KEYWORDS
NAME
Name of the resource to load.
LOCK
Loads the resource from the disk and lock it in
memory so it can't be expunged by a FlushLibs-Call.
UNLOCK
Search the given resource in memory and unlock it,
it may then be expunged.
EXAMPLES
1. To load the ReqTool.library from the libs: directory
and protect it against FlushLibs-Calls.
LoadResource ReqTools.library LOCK
@LoadWB (V1.3, 2.X, 3.X in C:)
NAME
LoadWb -- To start the the WorkBench.
SYNOPSIS
1.x:
LoadWB DELAY -DEBUG
2.x/3.X:
LoadWB DELAY -DEBUG CLEANUP NEWPATH
DESCRIPTION
Normally it is found in your statup-sequence so that
your Workbench will be loaded when you start your Amiga.
The Workbench will set and keep track of all search paths
in effect as well as set the paths for each CLI or Shell
started from a Workbench icon.
Under 1.x the Workbench will reinitialize whenever
you issue the LoadWB command. Under 2.x/3.x the Workbench
is reinit- ialized after selecting 'Update All' from the
Workbench menu. If you run LoadWB after it was already
loaded under 2.x/3.x then you will get an error message
saying that the Workbench is already loaded.
KEYWORDS
DELAY
This makes a three second pause before the program is
loaded. This lets all the disk activity to stop before
going onto the next program in your startup-sequence to
start. If there is not a pause, then both commands will
try to access the floppy disk, this causes your floppy
drive to make a thrashing noise and slows down you disk
access tremendously.
-DEBUG
This adds a brand new menu item to your Workbench bar
which is not normally displayed. There are two items on
this menu. Debug (called ROMWack on 2.x/3.x) and
Flushlibs. Debug (ROMWack) loads the ROMWACK debugger.
This is a developer's tool which communicates to your
Amiga via a 9600-baud terminal connection to the serial
port. If this terminal is not connected, your Amiga will
appear to lock up, since nothing will work until the
remote terminal sends commands. Flushlibs lets the
Workbench flush out all the libraries from memory that
are not in use. This frees up a good deal of resources.
This is useful for the programmer to check if his program
exited cleanly and freed all memory that they allocated.
1.x ONLY: DELAY or -DEBUG may be used, but not at the
same time.
CLEANUP
2.x/3.x Only: This performs a 'CleanUp' of the
Workbench window, making all your icons all neat and
orderly. This may also be done via the Window/CleanUp
while having the Workbench screen activated.
NEWPATH
2.x/3.x Only: This lets you change the path that the
Workbench uses. The Workbench usually remembers the CLI
or Shell path that issued the LoadWB command. This path
is automatically assigned to any Shell or CLI started
from an icon. This path can be changed by using the
NEWPATH keyword. The Workbench will then use the path
associated with the Shell window from which the command
was issued.
EXAMPLES
1. Load the Workbench and close the CLI:
LOADWB DELAY
ENDCLI >NIL:
2. Load the Workbench with the DEBUG menu activated:
LOADWB -DEBUG
3. Add the SYS:File directory to the path that the
Workbench assigns to new Shell windows opened from icon:
PATH SYS:File ADD
LOADWB NEWPATH
@LOCK (1.X, 2.X, 3.X located in C:)
NAME
LOCK - Enables or disables the write protection of a
harddrive partition formatted under the Fast File System
(FFS).
SYNOPSIS
LOCK drive ON/OFF PASSWORD
DESCRIPTION
1.x only lets you enable or disable the write
protection of a FFS. 2.x/3.x it also enables or disables
the write protection of every kind of disk including
floppies. The drive is unlocked only when another LOCK
command is sent or reboot the computer.
KEYWORDS
DRIVE
The name of the disk or partition. For 1.x, it can
only be a hard drive formatted with the FFS. 2.x/3.x lets
you LOCK floppy disks too. LOCK works a little
differently on floppies than other commands. Normally,
when a command is set onto a floppy drive (eg. df0:) it
will only effect that particular disk. But, with LOCK, it
effects any and every disk inserted into the drive.
ON/OFF
This keyword lets you protect the disk (LOCK ON) or
write enable (LOCK OFF). The default is for the disk to
be write enabled.
PASSWORD
Under 1.2, this password had to be four characters
long. On Operating Systems 1.3 and above it can be of any
length.The password is considered to be a text string.
Therefor, if there are spaces in it, it must be enclosed
in quotes. If a a password was included in the LOCK ON
command, the same password keyword must be used in the
LOCK OFF command for the disk to be write enabled.
EXAMPLES
1.To protect harddrive partition Dh1: with a password
of saturn:
LOCK DH1: ON saturn
2. To turn off the same:
LOCK DH1: OFF saturn
or
LOCK DH1: saturn
@MAGTAPE (2.x/3.x Only) (Located in C:)
NAME
MAGTAPE [DEVICE devicename] [UNIT unitname] [RET or
RETENSION] [REW or REWIND] [SKIP numfiles]
SYNOPSIS
MAGTAPE was added in 2.x to specifically control the
A3070 tape backup unit. Computer tape drives are
sequential. In other words, All computer tape drives,
like video or audio tapes, must be manually "fast
forward" or "rewind" to get to a particular file.
Random-access devices such as floppy drives, harddrives,
CDRoms, etc directly acess the information.
KEYWORDS
DEVICE devicename
The devicename of unit to manipulate.
UNIT unitname
By default, MAGTAPE accesses SCSI unit four and
utilizes the Commodore scsi.device. This is used because
it is the factory defaults of the A3070. To change the
SCSI unit number of the tape drive, or use a controlling
device other than the scsi.device, you must specify both
the device name of the SCSI controller (eg gvpscsi.device)
as well as the unit number of the tape drive using both the
DEVICE and UNIT keywords. There are usually dip switches
in your unit that can be changed to correspond to any unit
number you like. If you are unsure of the SCSI device driver
your unit uses, then you should call the manufacturer. All
SCSI drivers end in the extension: .device.
RET or RETENSION
This re-tensions the tape by fast-forwarding to the end
then rewinding it.
REW or REWIND
Runs the tape to the beginning.
SKIP numfiles
Unit will run forward past a given number of files.
The variable 'numfiles' tells how many files to skip.
EXAMPLE
1. To rewind a scsi tapedrive attached to a GVP
controller whose unit number is set to two:
MAGTAPE DEVICE gvpscsi.device UNIT 2 REW
@MakeDir(V1.3, 2.x, 3.x in C:)
NAME
MakeDir - Create any number of directories.
SYNOPSIS
MakeDir Dir/...
DESCRIPTION
MakeDir creates a new directory with the name you
give. There is no limit to the number of directories you
may create with this command. The directories will be
created in the order in which you supply them. Note that
you cannot duplicate directories at the same level of the
directory tree, nor can you create a subdirectory until
its parent directory has been created.
MakeDir allows you to create multi-tiered filing
systems on the same disk volume. To delete the
directories, you will use the DELETE command.
EXAMPLE
1. To make a directory named Jim:
makedir Jim
2. To make a directory named Mailbag inside the Jim
directory and the directories Jan and Feb which will
reside in the Mailbag directory of Jim that you just
created with the first part of the template.
makedir Jim/Mailbag Jim/MailBag/Jan Jim/MailBag/Feb
@MAKELINK (2.x and 3.x only) (located in C:)
NAME
MakeLink - Creates links which point to other files.
SYNOPSIS
MakeLink [FROM fromname] [TO toname] [HARD] [FORCE]
DESCRIPTION
When a program asks for a file, they will get the
file linked to instead of that file itself. These links
are handy whenever you have different programs who want
to reference the same file in several different
directories. Let's say you like to read your docs with
ppmore. Well, many icons are configured to use More, Much
More, Multiview, or any other text viewer. Well, to use
your favorite reader (ppmore) you can make links that
direct all other readers to access ppmore instead.
The only problem with MakeLink is that you cannot
make a link accross a volumes. Your link must reside on
the same volume or partition.
KEYWORDS
FROM fromname
The name of the link file to create. You only need to include
the FROM keyword if you have the fromname and toname reversed.
TO toname
The name of the file which will be linked to. This must be on
the same volume as fromname, and cannot be a directory name unless
you use the FORCE option is used.
HARD
An optional keyword is used to indicate that the link and its
target are on the same volume. A soft link is when the link is on
a different volume. This is currently not supported.
FORCE
This is to create a directory link. This is where the link file
will look for a particular directory instead of file. This is certain
to cause confusion within your file system, especially if the target
directory contains linked files. It will also cause havoc if you
create a link to the parent directory of a target of another link.
Even though MakeLink keeps you from making certain kinds of confusing
links, you should be extra cautious when FORCING a link.
EXAMPLES
1. To make a file run the program c:ppmore instead of
C:more or C:muchmore
MAKELINK c:ppmore c:more
MAKELINK c:ppmore c:muchmore
@Mount(V1.3, 2.x, 3.x in C:)
NAME
Mount - Make a new device known to AmigaDOS.
SYNOPSIS
1.3:
MOUNT Dev [FROM filename]
2.x/3.x:
MOUNT Devs [FROM filename]
DESCRIPTION
When AmigaDOS starts up, only a few devices are known
to it. You can add new devices with the Mount command,
which are then used just like any standard device. The
devices might be actual hardware units, or they might be
logical devices, such as a SPEAK: device, or a PIPE:
device, or a buffered serial device SER:, or even a
non-buffered serial device such as AUX:. The Assign
command allows you to view or remove these added devices,
as well as the standard system devices.
Before using this command to Mount the device, you
will need to create an entry for it in a file (this is
referred to as a MountList entry). The details of doing
this vary from device to device, but there should be
documentation accompanying each device you intend to add
that describes exactly how to do this. Ordinarily, you
will make this entry in the file called DEVS:Mountlist on
your system, but the FROM keyword gives you the option to
specify another file to obtain the mountlist entry from.
The 1.3 disk has a sample Mountlist file in the Devs:
directory. This will form a good example of how to
structure any mountlists you write.
The size of the device is determined by the Surface,
LowCyl, HighCyl, and BlocksPerTrack entries. Merely
multiply these values together to get the available
storage. For example, if you had a device with a
Surface=2 (double sided), LowCyl= 0 and HighCyl=39 (40
tracks per side: 39 - 0 + 1), and with a
BlocksPerTrack=11 (11 sectors, each sector being 512
bytes) you would end up with a 440k drive (.5k X 2 X 11 X
40= 440K).
For non-memory devices such as SPEAK:, AUX:, SER:, or
PIPE: the list simply shows where to find the handler. A
handler is a program similar to a device driver.
The CLI commands FORMAT and DISKCOPY work with all
similar mounted devices. For instance, you can FORMAT or
DISKCOPY between two 3.5 inch drives and two 5.25 inch
drives, but not DISKCOPY between a 5.25-inch drive to a
3.5-inch drive. If you try, you will get an "Object Not
Of Required Type" message.
The MOUNT command looks for this Mountlist in the
DEVS: directory. This file is a text file that shares
some of the characteristics of the C programming
language. For instance, hexadecimal numbers must start
with the characters 0x. Semicolons must seperate multiple
descriptions on a line. Comments must appear like in all
AmigaDOS script comments, that is beginning with /* and
ending with */. The Mountlist must end with the pound
sign (ei #).
2.X/3.X Only:
There is a completely new and user-friendly way to
handle devices! There is a new drawer in your Workbench
called "DOSDrivers" inside your DEVS: directory. These
files are different from old mountlists in three ways: 1)
They don't end in a pound sign, 2) They contain only one
device name per file, and 3) the device name of the file
is not specified in the list. To mount the device, you
simply drag it into the DOSDrivers drawer and it will be
mounted automatically when the Workbench is loaded. If
you don't want the mountlist loaded automatically at
startup, then simply place the mountlist in the
DOSDrivers drawer of the Storage directory.
KEYWORDS FOUND IN THE MOUNT LIST
Handler=
The name of the device handler file. Found in you l
or devs directory of your workbench.
EHandler=
2.x/3.x only: The name of the environment handler
file found in your prefs/env-arc directory of your
workbench.
FileSystem=
The name of the file system file. Usually found in
your Devs or l directory of your Workbench.
Device=
The name of your device driver file found in the Devs
drawer of your workbench. You can also specify a path to
another device location if you to locate the driver in
another drawer.
Priority=
The task priority of the process; 5 is typical of
handlers, 10 is typical of file systems.
Unit=
The unit number of the device (ei 0 for df0: and 1
for df1:).
Flags=
Flags setting for the OpenDevice call (usually 0).
Surfaces=
Number of write surfaces.
BlocksPerTrack:
The number of disk blocks (eg sectors) per track (eg
cylinder).
Reserved=
The number of blocks used for the boot block; 2 is
the standard here.
PreAlloc=
The number of blocks reserved at the end of a
partition; used with a few IBM-style (yuk!) hard drives.
This is usually 0.
Interleave=
This value controls the AmigaDOS interleave, not the
physical hard drive interleave.
LowCyl=
Starting cylinder to use for this device.
HighCyl=
Ending cylinder for this device. Total number of
cylinders= HighCyl - LowCyl +1.
StackSize=
The amount of working memory to allocate to the
process.
Buffers=
Number of cache buffers to use with the device.
BufMem Type=
Type of memory to use for cache buffers. Values are
as follows:
0 or 1 = Any
2 or 3 = CHIP
4 or 5 = FAST
Mount=
If this value is positive, MOUNT loads the handler or
driver software as soon as the device is MOUNTed, rather
than the first time the device is accessed. 2.1/3.x
utilizes the word ACTIVE as a synonym for this keyword.
MaxTransfer=
The maximum number of blocks transfered at one time;
used with the Fast File System only.
Mask=
Address mask that specifies the memory range that can
be used for DMA transfers; used only with the Fast File
System.
GlobVec=
If the handler is written in BCPL, it needs a global
vecotr. A value of 0 sets up a private global vector;
anything else indicates that the handler is written in C
or assembly language, and no global vector is needed. If
this keyword isn't used, the shared AmigaDOS global
vector is used.
Startup=
A string passed to the handler, device, or file
system on startup. This string is passed as a BPTR to a
BSTR.
BootPri=
The boot priority of a bootable device, expressed as
a number between -129 and 127. A value of -129 indicates
that the device is not bootable, as is appropriate for
use with the recoverable RAM disk if you don't want to
boot from that device on reset.
DosType=
Indicates the format of the file system used. If the
Fast File System is used, this value should be set to
0x444F5301 (DOS/1). Other types introduced in 2.1 include
0x444F5302 (DOS/2), an international version of the old
file system that allows mixed-case accented characters in
filenames, and 0x444F5303 (DOS/3), an international
version of the Fast File System.
Baud=
Serial device speed (in bits per second).
Control=
Serial device control parameters- word length,
parity, and stop bits (eg 8N1, 7E1).
ForceLoad=
A new 2.1 option. When this value is 0 (default), the
system will check the resource list to see if the file
system named in the entry has already been loaded. If it
has, the system will use that one, instead of loading a
new one.
Under 1.3 you can only MOUNT one device at a time
with one MOUNT command.
The 2.x/3.x version of Mount allows you to mount any
number of devices with one Mount command, which can speed
up the startup-sequence somewhat.
OPTIONS
FROM
This takes one argument, which should be a filename.
This filename will be used to obtain the Mountlist entry
for the device you are adding. If this keyword is not
used, the file DEVS:Mountlist will be used instead.
MOUNT KEYWORDS
DEV
The actual AmigaDOS device name, such as DF2:, DH0:,
or SER:. This refers to either a hardware device like a
disk drive or serial port, or a logical device such as a
RAD or harddrive partition. The keyword must be the same
as the label given in the Mountlist entry. The device
mounted should also be available to the system.
In 1.3 you can only specify one device per command.
Under 2.x/3.x you can specify multiple devices with one
command call. Wildcards may be used when specifying
multiple devices.
FROM
Lets you specify a file other than DEVS:Mounlist as
the place to look for the description of the device being
MOUNTed.
EXAMPLE
1. Assuming you have a mountlist for a device named
FRANKIE:
Mount FRANKIE:
CAUTIONS
Please note the following two differences between the
V2.x/3.x Mount and the Commodore V1.3 Mount, which can
cause problems in some cases if you are not aware of the
differences.
If you want to reboot from RAD: using the 2.x/3.x
Mount, you must insert an explicit "BOOTPRI = 0"
statement into the mountlist entry for RAD:, as compared
with the Commodore Mount which automatically will reboot
from RAD:.
If you have a "MASK = nnnnn" statement in your
mountlist, MAKE SURE THE MASK VALUE IS AN EVEN NUMBER.
The 1.3 Mount automatically converts the mask value to an
even value, but the 2.x/3.x Mount will pass through an
odd value which can cause problems. You will probably
only have a "MASK=nnnnnn" statement if you have memory
that cannot be accessed by a DMA device, such as with a
RONIN 68020 card.
@NewCLI(V1.3 in C:) (v 2x/3x internal)
NAME
NewCLI - Start a new interactive CLI on the system
display.
SYNOPSIS
1.3:
NewCLI [AUX: or CON:hpos/vpos/width/height/windowtitle]
[From filename] [CLI] [STACK]
2.x/3.x:
NewCLI [AUX: or CON:hpos/vpos/width/height/windowtitle/options]
[From filename]
DESCRIPTION
This window support the same gadgets of a regular
everyday Workbench window (that is a drag gadget,
back/front gadget, sizing and under 2.x/3.x a zoom and
close gadget). It can be started with this command as
well as by double-clicking on the Workbench icon 'CLI'
found in your Systems drawer. Once started, the CLI
becomes the active window on the Workbench. It immediatly
takes on current directory from which it was started
from.
You can open as many CLI windows as your memory
allows under 2.x/3.x. 1.3 limits you to 20. Each window
will operate completely seperatly from anyother and will
be complete with its own environment.
If you do not change the CLI attributes during CLI
startup, then it will be named 'New CLI' under 1.3 and
'AmigaShellj' in 2.x/3.x. The task number of the CLI
will also be shown.
Each and every CLI will have its own unique task
number, just as every application run on the Amiga will
be assigned its own task number. It will be numbered
according to how many programs are running at the time
you open it. For instance, if you have absolutly NO other
applications running it will be task number 1, if there
are two other applications running it will be task number
3, etc.
Unless you specify during the start of the CLI
process, each CLI will open at the top left corner of the
screen and extend 640 pixels accross and 100 pixels down
the screen. So, as you open each new CLI, it will cover
up the old one unless you manually drag it out of the
way.
The advantage of being able to run multiple CLIs on
the Amiga is one of the many attributes that sets it
apart from other operating systems. You can open as many
CLIs as you could ever use, with each running its own
application or holding information which you may need to
reference. If you take a few minutes to master the CLI,
you will be able to run rings around anything that an IBM
compatible can spew out.
KEYWORDS
[AUX: or CON:hpos/vpos/width/height/windowtitle/options]
[FROM filename]
Using CON: lets you chose the size, postion, and the
name of the new CLI window. (NEWCON: was added under 1.3
which has advanced functions which may replace CON:) If
you want to change the size, postion, or name of the CLI,
the CON: (or NEWCON:) keyword must be used.
-hpos:
The horizontal position of the top left corner of
your CLI. It is defaulted to 0.
-vpos:
The verticle postion of the top left corner of your
CLI. It is defaulted to 0.
-width:
-height:
These two keywords have no defaults and must be
included for the CON: keyword to work. The CLI must be at
least 90x25 pixels, but has a maximum of 640x200 pixels.
You can also use the sizing gadget on your CLI to change
the window size at any time.
-windowtitle:
This one is completely optional. This lets you chose
the name of the CLI as shown in the titlebar. If you
don't enter a window title the title space will be blank.
Even though you don't have to supply a name, you must
include the last slash following the height keyword.
-options:
2.x/3.x only. These options were added to make the
CLI more flexible. You can add as many or as few options
as you desire:
AUTO: The CLI opens immediatly only when the program
that started it requres it.
CLOSE: This is on by default. This lets you add the
Close gadget in the top left corner of the CLI.
BACKDROP: This lets forces the CLI to open up behind
all other windows and cannot be moved, resized, or
changed in any way except through using the zoom gadget.
NOBORDER: There are no visible lines surrounding the
window. The zoom and size gadgets will still be there,
but if you zoom the window to full size, the CLI will
dominate your environment and the only way to make it
smaller is by closing it.
NODRAG: The window will not let you drag it. The
position will remain in the same place always.
NOSIZE: The zoom, close, and size gadgets will
disappear when the CLI is started. There will only be a
depth gadget.
SCREENname: The CLI will open on a screen with the
name you give it. For instance, if you use the
'SCREENveronica' option, the CLI will open up on the
public screen named 'veronica'. If 'veronica' does not
exist, then this option won't work.
SIMPLE: Allows the text to fill up the CLI window
when expanded. This lets you see more information than
before. The default is on.
SMART: When the CLI widow is expanded, this option
does not allow the old information to be seen. It is the
opposite of SIMPLE.
WAIT: The CLI won't close when the program that
created it is closed. To close the CLI using this
option, you must select the close gadget or use the
Ctrl-\ key combination.
If you direct the output and input of a CLI to the
AUX: device if you desire. By routing the commands
through AUX: you are actually sending commands out the
serial port. The AUX: CLI will not be able to cancel
requestors and only allow you to run text-based programs.
Sorry, no GUI here. Of course, you must mount the AUX:
device before you can utilize this.
[FROM filename]
This lets you open a CLI with the specifications set
in a script file located in your s directory. Normally,
NewCLI uses the s:CLI-startup script. But, you can write
any script and reference it with this keyword.
Check out s:CLI-startup to get an idea how to set
this up.
EXAMPLES
1. To create a new CLI that uses the serial port for
input and output:
NEWCLI AUX:
(remember: this only works if AUX: is mounted)
2. To create a 150x150 CLI in the upper left corner
of your screen named 'Debox':
NEWCLI CON://150/150/Debox
3. To create the default CLI (that is, with the upper
left corner of a 200x100 window titled 'New CLI':
NEWCLI
@NewShell (V1.3 Alias created during Shell-startup)
(2.x/3.x internal)
NAME
NewShell - Invoke a shell or CLI utilizing a NEWICON:
console window.
SYNOPSIS
1.3:
NewShell [AUX: or NEWCON:hpos/vpos/width/height/windowtitle]
[From filename]
2.x/3.x:
NewShell [AUX: or NEWCON:hpos/vpos/width/height/windowtitle]
[From filename]
DESCRIPTION
This opens an advanced CLI (called a SHELL) which
includes aliases, resident commands, and has the current
directory listed at the prompt instead of in the
titlebar.
NEWCON: also must be mounted before for NEWSHELL to
work. This should also be in your startup-sequence. If
NEWCON: is not mounted, then the CON: device will be used
instead.The command used to mount it is:
MOUNT NEWCON:
2.x/3.x ONLY:
The enhanced CLI is now internal in your operating
system, and using either NEWCLI or NEWSHELL to open a new
Shell window.
1.x ONLY:
Shell-Seg must be resident in order for this to work
under pre-2.x version of AmigaDos. If it was not made
resident, then a CLI will be opened instead of a SHELL.
It should have been made resident in your
startup-sequence with this command:
RESIDENT CLI L:Shell-Seg SYSTEM pure
KEYWORDS
AUX: or NEWCON:hpos/vpos/width/height/windowtitle/options
This lets you pick the position, size, title, and
options for the new Shell window. The options keywords
will work only under 2.x/3.x. The options are listed
here:
AUTO: The CLI opens immediatly only when the program
that started it requres it.
CLOSE: This is on by default. This lets you add the
Close gadget in the top left corner of the CLI.
BACKDROP: This lets forces the CLI to open up behind
all other windows and cannot be moved, resized, or
changed in any way except through using the zoom gadget.
NOBORDER: There are no visible lines surrounding the
window. The zoom and size gadgets will still be there,
but if you zoom the window to full size, the CLI will
dominate your environment and the only way to make it
smaller is by closing it.
NODRAG: The window will not let you drag it. The
position will remain in the same place always.
NOSIZE: The zoom, close, and size gadgets will
disappear when the CLI is started. There will only be a
depth gadget.
SCREENname: The CLI will open on a screen with the
name you give it. For instance, if you use the
'SCREENveronica' option, the CLI will open up on the
public screen named 'veronica'. If 'veronica' does not
exist, then this option won't work.
SIMPLE: Allows the text to fill up the CLI window
when expanded. This lets you see more information than
before. The default is on.
SMART: When the CLI widow is expanded, this option
does not allow the old information to be seen. It is the
opposite of SIMPLE.
WAIT: The CLI won't close when the program that
created it is closed. To close the CLI using this
option, you must select the close gadget or use the
Ctrl-\ key combination.
FROM filename
Lets you specify a script to be run when the Shell
opens. If you don't put this script in your s: directory
then the 'filename' keyword is used to tell NewSHELL to
find it. The default startup file is the s:Shell-Startup.
EXAMPLES
1. To create a 150x150 SHELL in the upper left corner
of your screen named 'Debox':
NEWSHELL NEWCON://150/150/Debox
2. To create the default CLI (that is, with the upper
left corner of a 200x100 window titled 'My Shell':
NEWSHELL "NEWCON:////My Shell"
@Path(V1.3 in C:) (2.x/3.x internal)
NAME
Path - Set or display the CLI search path for
executable files.
SYNOPSIS
1.3:
Path [SHOW] [ADD or RESET] Dir(S) [QUIET]
2.X/3.X:
Path [SHOW] [ADD or RESET OR REMOVE] Dir(S)
[QUIET]
DESCRIPTION
The Path command lets you add directories to the
places AmigaDOS looks for executable programs. By
default AmigaDOS looks in the current directory, and then
in the C: logical device (set by using Assign). You can
add directories to search between these two points by
using Path. Note that you can use wildcards when
specifying directories to search to Path. If a wildcard
is specified, the first directory which matches the
wildcard pattern will be added. Any number of directories
can be added to the path with one command.
This command may also be used to display the current
search path.
OPTIONS
ADD
This option allows you to add directories to the
current path. Note that you do not need to use this
keyword, if you simply type directories as arguments,
this action is implied. The new directory will get
searched for after the other user-specified directories,
but before the C: directory.
SHOW
This displays the current path. The same behavior may
be obtained by simply using Path without any arguments.
RESET
This will replace the old path with the new path you
specify. If you do not specify any directories to
search, the Path defaults to the current directory, and
then to C:. It is not possible currently to remove these
two directories from the path. If more than one directory
is added, then each directory name is seperated by a
space.
QUIET
This prohibits displaying requestors for disks which
are not mounted when displaying the path with SHOW. If
you use this switch, and the disks are not currently
mounted (i.e., in a disk drive) then only the volume name
will be displayed.
REMOVE
2.x/3.x only: this lets you delete one or more
directories from the search path. If more than one
directory is named then they must be seperated by spaces.
EXAMPLES
1) To add drives df1: and df2: to the searchpath:
Path ADD df1: df2:
2) To reset the path to search drives one and two:
Path RESET df1: df2:
3) To add the first directory found on DF1: that
begins with the letter b.
Path ADD DF1:b#?
@Prompt(V1.3 in C:) (2.x/3.x internal)
NAME
Prompt - changes the prompt for the CLI or Shell.
SYNOPSIS
Prompt "Prompt"
DESCRIPTION
Prompt sets a new prompt for the current CLI. Prompt
with no argument resets the CLI prompt to the default,
which is just "> ". Shells differ in their
interpretation of special characters for the prompt. For
example, the Shell will accept the following characters
in its prompt string:
%S - expands to pathname of current directory
%N - expands to current task number.
%R -2.x/3.x Only: expands to the Return Code
for the last program that was executed
from that SHELL.
The CLI default prompt is n>, with 'n' being the task
number associated with the current task number of that
shell. For instance, the if no other applications are
running, and the shell is open, the prompt will be 1>. If
there are two other tasks running, the prompt will be 3>.
If used with a SHELL instead of the CLI, PROMPT can
display the current directory as part of the command
prompt. If you look at your s/Shell-startup script file,
you will see how the PROMPT command changes the default
string to the task number of the SHELL, followed by a
period, then the current directory path, a
right-angle-bracket, then a space.
KEYWORDS
"Prompt"
The string that replaces the active CLI's prompt. If
"Prompt" is left blank, then the prompt will be changed
to >. You can designate up to 59 characters for your
string. If there are any spaces, then you must enclose
the entire string in quotation marks. You may also use
ANSI escape sequences to change the prompt color, or
italics.
Here is a complete list of the ANSI escape
characters:
ESC-[1m Switches to BOLD characters.
ESC-[2m Switches character color to color 3.
ESC-[3m Switches Italics on.
ESC-[4m Switches Underline on.
ESC-[7m Switches Reverse video on.
ESC-[8m Switches background color off.
ESC-[0m Switches to normal characters.
ESC-c Switches to normal characters and clears
the screen.
** When using these ESC key combinations, don't type
'ESC', instead, press the 'Esc' key on your keyboard. You
will then see a reverse video bracket as your printed
character. After that reverse video character you can
type in the rest of the Escape sequence.
** You may also use the keys "*e" (an asterix
followed by the letter 'e'). This will have the same
effect as using the ESC key. Actually, it is better
because some editors (such as CEd, Ed, and others) uses
the ESC key to enter the command mode.
EXAMPLES
1) To change the current prompt to 'Amiga!:'
PROMPT Amiga!
2) To change the current prompt to 'Mehedi Who?:'
PROMPT "Mehedi Who?"
3) To change the current prompt to 'Amiga Task n
Waiting' (where n is the current task number):
PROMPT "Amiga Task %N Waiting "
4) To change the current prompt to show the task
number and current directory in reverse text, seperated
by angle brackets:
PROMPT "<esc>[7m%N>>%S><esc>[0m "
5) To show the date and time with each prompt
(2.x/3.x only):
PROMPT "'DATE*' > "
This uses the apostrophe (back tick) character to
output the result of the DATE command to the prompt
string. The asterisk character is used as an escape to
indicate that the DATE command is to be executed each
time the prompt string is printed. If this escape
character is not used, the prompt string will always
print the same time and date. (see backtick for more
information on this command).
See Also: Asterix
@Protect(V1.3, 2.x/3.x in C:)
NAME
Protect - To set file(s) protection status.
SYNOPSIS
1.3:
Protect [File] name [Flags] [s] [p] [a] [r]
[w] [e] [d] [ADD or -] [SUB or -]
2.x/3.x:
Protect [File] name [Flags] [s] [p] [a] [r]
[w] [e] [d] [ADD or -] [SUB or -]
[ALL] [QUIET]
DESCRIPTION
Protect is used to set the protection level of a file
or files. You may set the protection level for multiple
files or directories at a time using wildcards. The flags
that you may set are:
h - hidden file is protected from listing (not supported)
a - archive file has been archived (set by backup programs)
p - pure file may be made resident without fear
s - script file is a script (supported by some shells)
r - read file is readable (supported by some commands)
w - write file is writable (supported by some commands)
e - execute file is executable (supported by some shells)
d - delete file is deletable (system supported)
Setting or adding a flag allows the associated
action. Clearing or subtracting the flag disallows that
action. You can specify a completely new set of flags
for a file by simply listing the flags you want to be
turned on for that file (or files). If you omit a flag,
that flag will be cleared. Protect with no flags
disallows all protections for the file(s) in question.
You can also add or subtract flags to the current set
using the ADD and SUB keywords (see below) or by
preceding the flags with a '+' character or a '-'
character, respectively.
To view the protection bits for a specific filename,
you use the List command. If a flag character is shown in
the LIST display then it is on. If the letter is not
displayed, that bit is off. In that case, there will be
a dash (-) instead of a letter.
The only setting which AmigaDOS acts upon are the
read and write (r and w) bits.
OPTIONS
FLAGS (s p a r w e d)
These are the protection flags which can be turned
on/off with PROTECT. You don't have to include the FLAGS
keyword, just the letters. If a FLAG is turned on then
the operation associated with the flag may be carried
out. If no flags are specified then all the flags are
turned off.
NOTE: If the 'D' flag is set then the COPY command
will not work on that file. This is because the COPY
command actually deletes the old file and replaces it
with the new one.
ADD or [+]
The flags given are to be added to the current set
for the file(s) in question. Other than adding these
flags, the original protection bits of the file(s) will
be left unchanged. Another way to obtain this behavior
is to use a '+' character as the first character of the
flags you wish to add.
SUB or [-]
The flags given are to be removed from the current
set for the file(s) in question. Other than subtracting
these flags, the original protection bits of the file(s)
will not affected. Another way to obtain this behavior
is use a '-' character as the first character of the
flags you wish to subtract.
ALL
2.x/3.x only: Recursively descend directories,
performing the desired operation on each file and
directory for that branch of the directory tree.
FILES
When using wildcards or the ALL keyword, Protect will
change the protection bits for both files and
directories. Using this keyword will cause protect to
only change the protection bits for Files. 1.3 does not
allow you to use wildcards.
DIRS
Like FILES, but changes the protection bits only for
directories.
QUIET [Q]
This causes Protect to do its work silently, without
displaying the files and/or directories it is operating
on.
EXAMPLE
1. To keep all files ending in .c from being deleted
by subtracting the d flag for these files.
Protect #?.c -d
2. To turn on the script and execute bits. These
bits allow some shells to execute the scripts as though
they were programs.
Protect #? +se
@Quit(V1.3 on C:) (2.x/3.x internal)
NAME
Quit - Exit from a batch file with the given error
code.
SYNOPSIS
Quit returncode
DESCRIPTION
Quit forces an exit from the currently executing
batch file. If given a numeric argument, it will return
this as it's own exit status.
KEYWORDS
returncode
This is the return code reported when the script is
quited. If it is above the FAILAT level, you will get
the message:
QUIT failed returncode [returncode]
The number specified is substitued for [returncode].
If it is below the FAILAT level, or this level is not
specified, then no message is displayed on QUITing the
script.
EXAMPLES
To exit a command without an error code:
QUIT
To exit a command with an error code 12:
QUIT 12
*Note that 2.x/3.x contains this command as a
builtin.
@Read(V1.3 only)
NAME
Read - Read input and parse.
SYNOPSIS
Read Variables/...
DESCRIPTION
Read accepts input from its standard input. It takes
as arguments a list of one or more environment variables
into which it will place the parsed input.
Read chops the input up on whitespace and/or double
quotes, depending on the user's input, placing the first
argument in the first environment variable you supply,
the second in the second and so on. The final
environment variable supplied gets the rest of the input
string. If only one variable is supplied, it gets all the
input.
Read may be used to good effect in pipelines.
EXAMPLE
1. First will contain 'S', while last will contain 'D
B'.
Read First Last
S D B
2. First will contain '"S D B"' while last will be
empty.
Read First Last
"S D B"
@Relabel(V1.3, 2.x, 3.x in C:)
NAME
Relabel - Change the name of a disk.
SYNOPSIS
Relabel [Drive] drive [Name] name
DESCRIPTION
You use Relabel to rename a disk. Volume names are
normally given during the FORMAT or DISCOPY. Do not
confuse the volume name with the device name (which is
df0 or dh0:).
KEYWORDS
DRIVE drivename
This is the device name which you want to change.
There is no default drive. So, if you wish to relabel
any other drive, then be sure to enter the drive or else
it won't work.
NAME name
This is the name you are going to give. You can use
up to 30 characters. Be sure to use quotes if there are
any spaces in the name.
EXAMPLE
1. To change the name of the disk in df0: to
MyWorkbench:
Relabel DF0: "MyWorkbench"
@RemRad (v1.3, 2.x, 3.x in C:)
NAME
RemRad - Remove the recoverable RAM disk device.
SYNOPSIS
REMRAD unitnum [FORCE]
DESCRIPTION
If you wish to free up some ram: taken up by a RAD:
disk then use this command. By issuing this command you
are freeing up the memory taken up by the RAD: device.
After you issue this command, then reboot the system the
RAD: is removed entirely.
KEYWORDS
unitnum
2.x/3.x lets you make many RAD: devices with
different names by simply changing your mountlist in 2.0x
or your datatype icons under 2.1/3.x. You can selectively
remove just one of these with this keyword.
FORCE
This will force AmigaDOS to remove the RAD: device
despite whatever else is going on in the system. For
instance, if there is an assign attached to the RAD: then
it will be impossible to delete unless you remove the
assign or use the force KEYWORD.
EXAMPLE
1. To remove RAD: that currently has an assign to it:
REMRAD FORCE
@Rename(V1.3, 2.x, 3.x in C:)
NAME
Rename - To rename or move files and directories.
SYNOPSIS
1.3:
Rename [From] fromname [TO or AS] toname
2.x/3.x:
Rename [From] fromname [TO or AS] toname [QUIET]
DESCRIPTION
Rename is a complete replacement of Commodore's old
Move command. Originally, Rename was a limited form of
the more advanced Move command. The difference between
the two was that Move will also Rename files across
devices, while Rename cannot. Move also had a few
additional options which are quite pleasant. It was
recommended that you delete this file and use Move,
defining an Alias if you have scripts which use Rename.
But, times have changed and Rename has become a much more
versitile program.
Well, Commodore got rid of Move because Rename is
'better'. Well, despite its advances, it still cannot
Rename accross devices or volumes. You are only able to
move files from one directory to the next on the same
disk. You are also able to use it to reorganize the
entire directory structure of your disk.
KEYWORDS
FROM fromname
This is the file to rename. If this is the first
statement you don't need to use the keyword. 2.x/3.x
lets you utilize any wildcard pattern supported by
AmigaDOS.
TO (AS) toname
These commands are optional. This is the name of the
file you are renaming to. You can use either the TO or
the AS keyword to get the same effect. If the file you
are RENAMing to already exists then RENAME will fail.
QUIET
2.x/3.x only:
Keeps the progress report from being shown on the
screen while renames are being made.
EXAMPLES:
1. To move a file "SomeThing" to a directory named
"InHere/Now" without changing the file name:
RENAME Something InHere/Now/Something
or
RENAME Something InHere/Now
(note: This will also work with renaming entire
directories as well.)
2. To Rename a file called BigBlue to Commodore:
RENAME BigBlue Commodore
3. To move a file "Work Docs" to a directory called
"Textra/Work" without changing the name:
RENAME "Work Docs" ":Textra/Work/Work Docs"
@REQUESTCHOICE (3.x only, located in C:)
NAME
Requestchoice - Adds a decision requestor to an
AmigaDOS script file or AREXX script.
SYNOPSIS
Requestchoice titlebox bodytext buttontext(s)
[PUBSCREEN screenname]
DESCRIPTION
When the requestor window opens and lets the user
chose from one or more buttons. When a button is chosen,
the number of that button is returned.
KEYWORDS
titletext
The text you want in the title bar of the window. It
is a good idea to have this title bar mention where the
window was launched from so that the user won't get
confused. You must always include titletext. If you don't
want to have text in your titlebar, then use a blank text
string ("").
bodytext
This is the main body text of the window. (for
example "Do you wish to continue?"). This string is also
required.
buttontext(s)
This assigns the words to the button choices. You
must have atleast one button. Extra buttons may be added
by just tacking on extra text screens. Every button is
assigned a number, when a button is chosen b the user,
the command returns this number to the console. If there
are text for many buttons, they will appear from left to
right. The button on the leftmost is number 1, the next
is number 2, and so on. The only exception is the last
button entered which is assigned the number of zero. This
is reserved for the "Cancel", "No", or "Quit" optons.
[PUBSCREEN screenname]
This lets you place your requestor on any public
screen by adding this keyword with the name of the
screen.
EXAMPLES
1. Print the number in the shell window the user
selects from the requestor:
SET Number 'REQUESTCHOICE " " "Pick your number" 1 2 3 4 5 0'
ECHO "You chose the number $Number"
2. Ask the user to continue or quit:
SET Continue 'REQUESTCHOICE Script "Continue???" Yes No'
IF VAL $Continue EQ 0
ECHO "You're outta here!"
QUIT
ENDIF
ECHO "Next command??"
@REQUESTFILE (3.x only) (Location in C:)
NAME
Requestfile - To allow the use of the standard ASL
file requestor in an AmigaDos or AREXX script. The ASL
requestor is the interactive window that displays a list
of filenames and directories and lets the user chose one.
SYNOPSIS
REQUESTFILE [DRAWER DIR] [FILE filename] [PATTERN pat]
[TITLE titletext] [POSITIVE postext]
[NEGATIVE negtext] [ACCEPTPATTERN pat]
[REJECTPATTERN pat] [SAVEMODE] [DRAWERSONLY]
[MULTISELECT] [NOICONS] [PUBSCREEN screenname]
DESCRIPTION
After the user selects the file, the name of the file
chosen is returned, surrounded by double quotes. If
multiple files are selected, each file is printed to the
console seperated by spaces and exits the file requestor
with a return code of zero. If 'CANCEL' or the close
gadget is chosen, the program ends with a return code of
5. The return code 5 can be detected if the "IF WARN"
statement is used.
KEYWORDS
Even though there seems to be many of these, all of
them are optional. If you issue the REQUESTFILE command
without any keywords, a standard ASL requestor will open
up that any user can figure out.
DRAWER dir
The first directory listing will be the specified
'dir', and this path will appear in the drawer gadget of
the file requestor.
FILE filename
The 'filename' will be the selected default file. If
this file is not in the root directory, you must use the
DRAWER keyword to specify its directory.
PATTERN pat
This keyword causes only the files which match that
pattern you specify to show up. The user can, however,
enter any file he desires by simply entering the filename
or by changing the pattern. If you wish the user to not
be allowed to change the file pattern then use the
ACCEPTPATTERN keyword instead.
TITLE titletext
This allows you to enter the text string that will
appear in the title bar of the window. This should be
limited to 30 characters because anything text over 30
letters will be cut off by the edge of the requestor. It
is also a good idea for this text to hint the user on
what file he should select.
POSITIVE postext
This lets you change the button text on the leftmost
button. The function of that button always allows the
user to select that file. The default is labeled 'OK'.
For instance, let's say you wanted to load that file, you
could name that button 'Load'. Or, if you wanted to
delete that file you could name that button 'Delete'.
NEGATIVE negtext
This lets you change the text of the rightmost
button, which is defaultly named 'CANCEL'. You could
change the name to something more meaningful, such as
'Skip' or 'Abort'.
ACCEPTPATTERN pat
Allows you to limit the file display to those
filenames which match the pattern you specify. This
keyword does not give the user a chance to change the
pattern. If you want to leave the user that flexibility,
you should use the PATTERN keyword instead. For instance,
if you specify 'pat' as "#?.info", the user will only be
allowed to enter or select icons and only icons will be
displayed.
REJECTPATTERN pat
This lets you exluce from the display all the files
that match the pattern you specify. This is the opposite
of ACCEPTPATTERN. Like ACCEPTPATTERN, there is no way for
the user to change the pattern. For instance, if 'pat'
is "#?.info" then there is absolutly no chance for the
user to select an icon or for one to be displayed.
SAVEMODE
This is where the user is presented with a display
window that is black with grey letters instead of the
gray and black letters, and the multiselect option is
disabled.
DRAWERSONLY
Will not show any filenames, only the directory
names.
MULTISELECT
Lets the user select multiple files by holding down
the shift key and clicking on as many files as they want.
These files will be outputed to the console device,
seperated by spaces, when the 'OK' button is selected.
NOICONS
This will keep the icon files from showing up in the
file reqestor. This can also be accomplished by using the
"REJECTPATTERN #?.info" keyword statement.
PUBSCREEN screenname
This is where you can chose which screen you want the
requestor to show up on.
EXAMPLES:
1. To have the user select a directory within a
script, and to store that directory in the local
environment variable dirname:
UNSET dirname
SET dirname 'REQUESTFILE DRAWERSONLY'
IF "$dirname" EQ "*$dirname"
ECHO "You didn't choose a directory name"
ELSE
ECHO "The directory you chose was $dirname"
ENDIF
UNSET dirname
The Cancel button is tested for by checking for the
"$dirname" (which is replaced by the contents of the
environment variable) is equal to the literal string
"$dirname". The asterisk means that the IF command will
interpret the dollar sign as a dollar sign, not as the
contents of an environment variable. You could not use
the IF WARN test because you only get the return code
from the SET command, not the REQUESTFILE command this it
contains.
@RESIDENT (1.3 in C:) (2.x/3.x Internal)
NAME
Resident - Loads a program into memory and keeps it
resident there where it will be executed without having
to be loaded from disk each time.
SYNOPSIS
1.3:
RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE]
[SYSTEM]
2.x/3.x:
RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE
or FORCE] [SYSTEM]
DESCRIPTION
Resident saves time by loading the command into
memory thereby allowing several Shell windows to execute
the same program code simultaneously, without having to
load another copy of the program for each shell.
A command may only be made resident from 1.3 and
above. Also, only program files that have their PURE bit
set. Also resident commands must be able to be run many
times in a row without being reloaded or reinitialized.
It should also be able to be executed from different
Shells simultaneously without conflict. How do you know
if the file is able to be made resident? Check the Pure
bit. If the programmer who made the command followed
Commodore standards, it would be set to on. And, 9 times
out of 10 the docs will mention the fact.
KEYWORDS
name
This is an optional resident name for the program.
For instance, you can chose to call the resident version
of Delete by the letter D. If you don't specify a name,
the filename is used as the resident name.
filename
The full path name to the file to be made resident.
REMOVE
This will remove the resident from the resident list.
This only succeeds if that command is not currently in
use. Under 2.x/3.x you can use this keyword to disable
any Internal commands (which may be re-enabled with the
REPLACE option).
ADD
REPLACE
These keywords are completely optional since they
make very little differnece to the execution of the
program. If you don't add a filename with these
keywordsthen the command will list all the programs on
the resident list, just like if you used the command
RESIDENT. If you issue a filename with them then RESIDENT
will try to add that file to the resident list. If that
file already exists it will get replaced by the new
command. Under 2.x/3.x REPLACE will fail if the resident
name is not on the resident list and you are able to
re-enable an internal command that has been disabled with
the REMOVE option.
PURE or FORCE
These cause RESIDENT to force a prgram to be made
resident whether or not if the PURE bit is set. If this
keyword is used, you will get a message saying that the
pure bit is not set. Data files cannot be made RESIDENT,
only executable programs can be. The FORCE keyword can be
used under 2.x/3.x and does the exact same thing as pure.
The use of this keyword can be extremely hazerdous to
your system. Don't be surprised if you FORCE a command to
be made resident that was not meant to be made resident
cause your machine to crash in a very big way.
SYSTEM
This keyword will not allow the user to delete that
file from the resident list. The most common use of this
keyword is the way it enables the Shell windows to
replace the CLI under 1.3. The command that makes the
Shell-Seg resident is:
RESIDENT CLI L:Shell-Seg SYSTEM
Under 1.3 this is used in the startup script. But,
2.x/3.x does not need it because the Shell is built into
the system ROMS.
EXAMPLES:
1. Make the Delete command resident, using the name D:
RESIDENT D C:Delete
2. To remove the DIR command from the resident list:
RESIDENT dir REMOVE
3. To display all the command residing on the resident
list:
RESIDENT SYSTEM
@Run (V1.3 in c:) (2.x/3.x internal)
NAME
Run - spawn a background shell or process.
SYNOPSIS
Run command+command+command+command....
DESCRIPTION
Run is used to startup a background shell. Run
itself does no parsing of the command line, it passes it
unchanged to the background shell process, which means
that depending on the shell you have loaded, you can do
various interesting things with Run.
You can pass multiple commands to the background
shell by terminating each commandline with a '+' before
you hit return.
To detach processes from the parent console window,
you can do Run >NIL:. This will allow you to close the
CLI window from which that task was launched. Once RUN a
program is totally seperated from the Shell from which it
was RUN allowing you to use that Shell for other
purposes. If any errors occur, the background program
removes itself and disappears.
After you RUN a program, the system shell will print
the message [CLI n] where n is the task number assigned
to the background task.
The system will always check the resident list before
looking in the system path for the command.
EXAMPLES
1. Run Copy Thisfile OverHere+
Echo "Copy complete!"
The above line will cause the background shell to
first run the Copy command, and then the Echo command.
2. RUN EXECUTE "RAM:T/ThisFile"
The above line will cause the command sequence file
'ThisFile' in the Ram:T/ directory to execute in the
background by a single task.
3. RUN DIR > PRT: OPT A
This prints a directory and file listing of the
current drive on the printer. This will be operated in
the background so you will be able to continue entering
other commands into the Shell it was run from or to close
it.
4. RUN >NIL: Calculator
This starts the Calculator program. NIL: is used so
you can close the CLI or enter other commands into it
while the Calculator is running.
5. RUN FORMAT DRIVE DF1: NAME EMPTY +
INSTALL DF1: +
ECHO "Format and Install Finished"
This will Format and Install a disk in df1: and then
print a message saying "Format and Install Finished".
@Search(V1.3)
NAME
Search - Search a file or files for a name or pattern.
SYNOPSIS
1.3:
Search [From name] [Search string] ALL [NONUM] [QUIET]
[QUICK] [FILE]
2.x/3.x:
Search [From name] [Search string] ALL [NONUM] [QUIET]
[QUICK] [FILE] [PATTERN]
DESCRIPTION
Use Search to hunt for patterns or strings in files.
As usual, you can specify the files using a wildcard
pattern, and you can also specify a directory to be
searched. Search also allows itself to be used in the
middle of a pipeline. To do this, you must use the
filename STDIN, and it must be spelled in UPPER CASE.
Under 2.x/3.x's Search also allows you to specify a
wildcard pattern as the search string, which the 1.3
version still does not. Any valid AmigaDOS pattern may
be used as the search string.
If a search object is found, then Search will return
0, otherwise it will return with the WARN faillevel set.
This makes Search usable in scripts (see also QUIET,
below).
When searching through more than one file at a time,
you can use C-e or C-f (Control E or Control F) to
abandon the current file and move on to the next. (NOTE:
This is different from the Commodore BCPL search, which
uses C-d (Control d). Using C-e and C-f prevents
conflicts with using C-d in script files, since C-d will
abort a script file.) As usual, to kill the program, use
C-c (Control C).
Search treats the carriage return character as the
end of the line. It also only searches the first 205
characters of a line, if there are more characters than
that then the you are warned with a 'LINE n truncated' (n
being the line number) and the search continuing.
2.x/3.x's Search places the last pattern you used in
an environment variable called "Search". If you reuse
Search at a later time, and omit the search string,
Search will use the value of this Environment variable.
This is convenient when searching for complex patterns
over and over again on different disks or directories.
This is also available to other programs to use if
desired.
KEYWORDS
ALL
Recursively descend all directories in the specified
branch of the directory tree, searching each file for the
pattern specified.
NONUM
Do not display line numbers. This option will also
kill the indent Search usually adds to the lines it
displays. Not used before 1.3.
FROM name
The file or directory to be searched. 'name' can also
be an AmigaDOS pattern if using 2.x/3.x. If this is the
first argument in your SEARCH, then this keyword is
optional.
SEARCH or NAME string
This is the string of text you will look for. If this
is your second argument then the keyword is optional. if
there are any spaces in your string, there must be quotes
around it. The string is not case sensitive, so if you
search for HIM then him, Him, HiM, or hIm, etc. Under
2.x/3.x you can use NAME instead of SEARCH and the exact
same result will occur.
QUIET
Search without displaying found lines. This is
useful when you only want to get the return code from
Search (for example, in a script file).
QUICK
This causes Search to use a more compact output
format to speed up display. NOTE - when using SEARCH
from an interactive CLI, this is the DEFAULT.
FILE
This causes Search to hunt for a file of the
specified name, rather than searching through the
contents of the files. Under 2.x/3.x the full path is
printed. This makes it extremely easy to find a
particular file on a large volume.
CASE
This causes Search to consider case as important in
comparing search patterns. Ordinarily, case is ignored
during a search.
PATTERN
An optional keyword under 2.x/3.x only. It tells the
CLI that a pattern will be used during the search.
EXAMPLES
1.This command line demonstrates the use of wildcard
patterns in both the FROM and the SEARCH string positions.
This will cause Search to look at all files in
SYS:INCLUDE/exec which end with the characters '#?.h', for
all strings which begin with the three characters 'SIG',
followed by any character, followed by an underscore,
followed by anything:
Search SYS:INCLUDE/exec/#?.h SIG?_#?
2.To Search all the files in a directory called Westerns/TNT
and all the files within its subdirectories for the phrase
'speghetti westerns':
Search Westerns/TNT "speghetti westerns' ALL
3.Look inside the file AmigaJokes for the work IrvingGould:
Search AmigaJokes IrvingGould
4.Search Quickly all the files which end in .txt in the
current dir for the phrase 'super model' and print them.
Search > PRT: #?.txt "super models" QUICK
@Semicolon (;) (1.3/2.x/3.x internal)
NAME
; - Allows you to enter comments into an AmigaDOS
script.
SYNOPSIS
;All comments are here...
DESCRIPTION
The comments can be located anywhere inside the
script. To be considered part of the comment then all
the words must be to the right of the semicolon.
Anything to the left of it will be read as a command.
The string may be up to 254 lines long (255 including
the ;).
EXAMPLE
This is a simple command sequence file using the ;
command. Everything to the right of the ; is considered a
comment and will not be acted upon.
;Begin ImageFX assigns
Assign ImageFX Work:ImageFX
Assign Help Work:ImageFX/Help ;Assigns help docs
;End assigning ImageFX
@Set (1.3/2.x/3.x internal)
NB: I was unable to test this properly with 1.3. I
would appreciate anyone who has tried it to please help
me correct the problems.
NAME
Set - Set or clear the value of an environment variable.
SYNOPSIS
Set varname [string]
DESCRIPTION
First, let's discuss what an environmental variable
is. It is a named text string which stores an
environmental space and is accessible only to the Shell
from which it was created. To have that variable to be
accessed by any program or CLI (hence, a global variable)
then use the SETENV command. SETENV stores the variable
in the private system memory, while Set stores it in the
RAM.
This is different from environment variables created
with the new V1.3 "SetEnv" and "GetEnv" commands.
Programs which use the arp.library environment variables
will be able to read variables set by either "Set" or
"Setenv".
To set the value of an environment variable, simply
use SET VARNAME=VAL, which sets the value of VARNAME to
VAL. To remove this environment variable do Set VARNAME=
or Set VARNAME. There is no limit to the number of
variables you can set and clear with one command. You
can intermix setting and clearing variables on the same
command line.
To view the values of all current environment
variables, simply use Set without any arguments.
You can use spaces in your variable names and values,
but it is not generally a good idea. If you do use
spaces, you must surround the complete expression with
double quotes, i.e., "Variable Name=Variable Value". Note
that the similar looking expression "Variable Name =
Variable Value" has hidden spaces. The Variable ends
with a space, and the value begins with one. This is only
one example of how problematical spaces in environment
variables and values can become.
Set also has special features for setting the Escape
character. You can set the current escape character by
using the ESCAPE <char> keyword.
One source of problems with old script files and 1.3,
2.x, and 3.x is the use of the star "*" to refer to the
current window. Pre 1.3 programs tend to regard the star
"*" as a wildcard, as is common. If you use the BCPL
keyword to do SET BCPL TRUE, those programs which tend to
have problems with this will attempt to overlook the "*"
as a wildcard.
Finally, you can get a listing of all variables,
including the values of ESCAPE and BCPL by using the
keyword LISTALL.
Under 2.x/3.x there are several environmental
variables which are automatically set for you, or which
you may set for yourself. These are:
Process: The process number of the current shell
or task.
RC : The Return Code of the last command executed.
This lets you examine some code without using the IF WARN
or IF FAIL commands.
Result2: The error number that will indicate why the
last command failed. The FAULT command may be used to
interpret these.
Echo: This local environment controls whether or not
the Shell repeats each command as you execute it. If Echo
is SET on, the commands are repeated. If you set it to
anything else or not at all they are not repeated.
Turning this on is a good way to debug your scripts that
don't work. Many times there is really no other way to
see why they failed. Echo will print each line as it
executes and will tell you which ran properly, and which
didn't.
To remove a variable, you may use the UNSET command.
EXAMPLE
Set DODAH=SONG dateformat=0 copyflags= ESCAPE \
The command line above creates or redefines the variable
DODAH to have the value SONG, dateformat to have the value
0, removes the variable copyflags from the environment, and
sets the current ESCAPE character to \.
ADDITIONAL CONSIDERATIONS
The Shell also has builtin environment variable
expansion and assignment features.
@SetClock (1.3, 2.x, 3.x in C:)
NAME
SETCLOCK - Used to copy the time and date from the
hardware clock to the AmigaDOS software clock.
SYNOPSIS
SETCLOCK [LOAD or SAVE or RESET]
DESCRIPTION
SetClock only works with Commodore's own
clock/calendar, or compatible units.
KEYWORDS
Load or Save or Reset
One of these must be used!
Load: The stored time and date is copied from the
hardware clock to the system clock. This is
automatically done in 1.3 in the startup sequence. Under
2.x/3.x it is done from the kickstart ROM.
Save: The current AmigaDOS system time and date is
copied to the hardware clock.
Reset: This will restart the clock if it was turned
off by some program which wrote to the clock's hardware
registers. You will know if this happens if you get a
report that says: "battery backed clock not found" or the
system clock is shown unset.
@SetDate(V1.3)
NAME
SetDate - Set the DOS datestamp for files.
SYNOPSIS
1.3:
SetDate File [DATE] [TIME] [QUIET]
2.x/3.x:
SetDate File [DATE] [TIME] [QUIET] [ALL]
DESCRIPTION
SetDate changes the last modification date of a file.
This is useful with programs such as Make, or if a file
was inadvertently created when the operating system was
set to a bad date or time. The last modification date
may be viewed using the List command. As with all
programs which accept date and time information, you may
use words such as YESTERDAY, MONDAY, etc., to specify the
date.
In the 2.x/3.x version of SetDate, you can of course
use wildcard patterns to specify more than one filename.
If you supply only the filename to SetDate, the current
date will be assumed. This is probably the most common
use of a program like SetDate, and is very convenient (it
performs similarly to the Unix Touch command).
Also under 2.x/3.x SetDate uses the value of the
environment variable 'dateformat' to determine the style
of input entry it expects.
KEYWORDS
File
The name of directory or file to SetDate. Under
2.x/3.x you can use wildcards to change multiple files.
DATE
The day, month, and year you wish to change the date
to. The recognized format is: DD-MMM-YY. DD is the
two-digit number for the day. MMM is a three-letter
abbreviation for the month (eg FEB or APR). YY is the
last two digits of the year.
You may also use words like SATURDAY, YESTERDAY,
TOMORROW, etc. Saturday, Sunday, Monday, and the rest of
the days of the week can be used as flags. The system
will evaluate the day then advance the system date to
match the specified day of the week. So, if it is Monday
and you specify Thursday, the system clock will advance
by three days.
If the date is not specified then the file is set to
the current system date and time.
Time
You can set the time along with the date with the use
of this optional keyword. The recognized format is
HH:MM:SS, for hours, minutes, and seconds respectfully.
Hours are recognized in a 24-hour format (aka Military
Time) where 1:00pm is represented by 1300 hours. If you
leave out minutes and/or seconds they are defaulted to
00. If you don't include this keyword then the time-stamp
on the file is defaulted to 00:00:00.
EXAMPLE
1. To set the date to January 1st, 1988 to 12:15 for
the file 'myfile'.
SETDATE myfile 01-jan-88 12:15
2. To give the file 'foo' yesterday's date:
SETDATE foo YESTERDAY
3. To set all files ending in .o to the current
date.
SETDATE *.o
SEE ALSO
DATE, LIST
@SetEnv(V1.3)
NAME
SetEnv - Set or delete an environment variable in the
ENV: handler.
SYNOPSIS
SetEnv Varname [String]
DESCRIPTION
This command sets or delete the value of environment
variables using the new ENV: handler introduced by
Commodore. It takes the name of a variable and the value
to set it to.
An environment variable is a variable that is
accessable by all tasks. Note that ENV: is currently
just a directory in RAM:, it is not a true handler. Maybe
in the furture global environmental varibles may be
stored in RAM reserved for the system and then
manipulated by their own device handler, as the local
environments are.
KEYWORDS
Varname
The name of the environment variable to set. This is
the name of the text files stored in the ENV: directory.
Using the SETENV command copies the text string to this
file.
2.x/3.x has several global variables which are
automatically set for you, or you can set for yourself.
These include:
Kickstart/Workbench: These variables are created during
system startup and contain the version numbers of the
Kickstart and Workbench you are using.
Editor: Recognized by some Workbench programs such as
MORE. If you set this variable to the path name of your
favorite text editor, MORE allows you to bring up the
program to edit the current file by pressing Shift-E.
[string]
The text string attached to the environmental
variable. If there are any spaces in the text then you
must enclose the entire string in quotes. If there is no
string specified then an empty string will be copied to
the variable. 2.x/3.x only: To remove the string then use
the UNSETENV command.
EXAMPLE
1. Copy the name Bar to the environment variable named
foo:
SetEnv Foo Bar
2. To remove a text string associated with the environment
variable Foo:
SetEnv Foo
SetFont (2.x/3.x in C:)
NAME
SetFont - Allows user to specify the text font, size,
and style used in a particular shell window.
SYNOPSIS
SETFONT fontname fontsize [SCALE] [PROP] [ITALIC]
[BOLD] [UNDERLINE]
DESCRIPTION
You can use this program to change the System Default
Text font without using the System Font Prefrences
program.
KEYWORDS
fontname
The name of the font to install. It can be a system
bitmapped or scalable outline font.
fontsize
The point size of the font. A scalable outline font
will be scaled to fit that size. If a bitmapped of that
size does not exist then the next closest size will be
used.
SCALE
This enables bitmapped scaling. In other words, if
you specify a font size that does not exist then one will
be created from the characters of the next closest size.
PROP
The optional keyword that lets you use proportional
fonts. If you try to use a proportional font without this
keyword then you will get an error message that says:
'Object not of required type'. Warning: There are some
proportional fonts that will not print correctly in a
console window.
ITALIC
Prints the font in the italic format.
BOLD
Prints the font in the bold format.
UNDERLINE
Prints the font underlined.
EXAMPLES:
1. To change the font to a scaled version of Seista font
which is 12 points high:
SETFONT Seista 12 SCALE
2. To change the font in the current shell to a bold
underlined version of the proportional Ruby font,
16 points high:
SETFONT Ruby 16 BOLD UNDERLINE PROP
SetKeyboard (2.1/3.x in C:)
NAME
SetKeyboard - Changes the key map of the keyboard
for that Shell window.
SYNOPSIS
SETKEYBOARD mapfile
DESCRIPTION
A key map is a datatable which the Amiga refrences
when a key on a keyboard is pressed. Different key maps
cause the keys on the keyboard to print different things
depending on which country's keyboard you wish to use.
For example, if your are using the French keymap letter
'Q' reversed will be used when you press the 'A' key on
the keyboard. Or, if you press the 'Q' key, then 'A' will
be printed.
For complete info on the foreign key layouts refer to
the 'Introduction to the Amiga' handbook which Commodore
bundled with your Amiga. If you want to see how your
keyboard is mapped out, use the Keytoy program (under
1.3) or the KeyShow (under 2.x/3.x) in the Tools
directory of your Extras disk. This will give you a
complete graphical representation of your keyboard.
In Workbench 2.1 and higher you have system language
localization. In these versions, the key map is set via
the Locale preference progam. SETKEYBOARD allows you to
change the key map without accessing the Locale
Preference program the same way the SETFONT command
allows you to change the font without accessing the Fonts
Preference program.
This command looks for its key map data file in the
'Keymaps' subdirectory of the DEVS: directory. If you
type the full path then the key map file may be located
anywhere. The standard keymaps are currently limited to:
cdn French Canadian
ch1 Swiss French
ch2 Swiss German
d German
dk Danish
e Spanish
f French
gb Great Britain
i Italian
n Norwegian
p Portugese
s Swedish
usa0 The standard mapping of the 1.1 Workbench (A1000)
usa1 Maps for the numeric pad keys on 500/2000
usa2 Dvorak U.S. keyboard
KEYWORDS
mapfile
The keymap data file which will be used. If the
keymap data file is in the DEVS/keymaps drawer then you
do not need to enter the path. If it is located anywhere
else, you do need to enter the path.
EXAMPLES
1. To install the French Canadian keyboard:
SETKEYBOARD cdn
@SetMap (1.3, 2.0x in Sys:System)
NAME
SetKeyboard - Changes the key map of the keyboard
for that Shell window.
SYNOPSIS
SETMAP mapfile
DESCRIPTION
A key map is a datatable which the Amiga refrences
when a key on a keyboard is pressed. Different key maps
cause the keys on the keyboard to print different things
depending on which country's keyboard you wish to use.
For example, if your are using the French keymap letter
'Q' reversed will be used when you press the 'A' key on
the keyboard. Or, if you press the 'Q' key, then 'A' will
be printed.
For complete info on the foreign key layouts refer to
the 'Introduction to the Amiga' handbook which Commodore
bundled with your Amiga. If you want to see how your
keyboard is mapped out, use the Keytoy program (under
1.3) or the KeyShow (under 2.x/3.x) in the Tools
directory of your Extras disk. This will give you a
complete graphical representation of your keyboard.
In Workbench 2.1 and higher you have system language
localization. In these versions, the key map is set via
the Locale preference progam. SETKEYBOARD allows you to
change the key map without accessing the Locale
Preference program the same way the SETFONT command
allows you to change the font without accessing the Fonts
Preference program.
This command looks for its key map data file in the
'Keymaps' subdirectory of the DEVS: directory. If you
type the full path then the key map file may be located
anywhere. The standard keymaps are currently limited to:
cdn French Canadian
ch1 Swiss French
ch2 Swiss German
d German
dk Danish
e Spanish
f French
gb Great Britain
i Italian
n Norwegian
p Portugese
s Swedish
usa0 The standard mapping of the 1.1 Workbench (A1000)
usa1 Maps for the numeric pad keys on 500/2000
usa2 Dvorak U.S. keyboard
KEYWORDS
mapfile
The keymap data file which will be used. If the
keymap data file is in the DEVS/keymaps drawer then you
do not need to enter the path. If it is located anywhere
else, you do need to enter the path.
EXAMPLES
1. To install the French Canadian keyboard:
SETKEYMAP cdn
2. To install the French language keyboard:
SETMAP f
3. To restore the default system key map:
SETMAP usa
@SetPatch (1.3, 2.x, 3.x in C:)
NAME
SetPatch - Released by Commodore to fix any known
problems in the KickStart ROMS.
SYNOPSIS
1.3:
SETPATCH [r]
2.x/3.x:
SETPATCH [NOCACHE] [QUIET]
3.1:
SETPATCH [NOCACHE] [QUIET] [NOAGA]
DESCRIPTION
This should be the very first program run in your
Startup-Sequence file. When run, the command prints a
list of the patches (program corrections) made.
KEYWORDS
r
An optional switch which lets you use the recoverable
RAM disk (RAD:) to work on 1.3 machines with 1meg of chip
ram. If you are using a 1.3 machine and don't know how
much ram you have, simply run the AVAIL command any
you'll see. If it is just 512k, then you can't use a RAD:
device. But, if you have over 512k then you can.
NoCache
2.x/3.x only: Lets you disable the data cache on
accelerator cards. With cache on (default) commands run
much quicker, but some older programs do not run well (or
at all) with cache on, so turning it off may help with
compatiblity of older 1.3 programs.
Quiet
2.x/3.x Only: Prevents SetPatch from printing out a
status report of the patches made.
NOAGA
3.1 Only: Prevents an AGA machine from fully enabling
the AGA chipset. This lets you use setpatch to help you
run those programs that don't work on AGA graphics chips.
EXAMPLES
1. To patch 2.1 Kickstart routines without printing a list
of patches:
SETPATCH >NIL: QUIET
@Skip (V1.3 in C:) (2.x/3.x internal)
NAME
Skip - Skip to the appropriate label.
SYNOPSIS
Skip string [BACK]
DESCRIPTION
Skip moves the currently executing script file ahead
until it finds a lab declaration which matches its own
argument. If Skip is used without an argument, it looks
for a null string designated by LAB.
If you run skip without a label string or a LAB
command then you will get the error message declaring
'label not found by SKIP'.
To Skip backwards in a file, you use the BACK
keyword.
If at any point in its search for a label Skip
encounters the EndSkip command, it will abort the Skip
and return an error of WARN.
By using the idiom "Skip ?", you can request a user
to give you a label, and jump to that portion of the
batch file.
CAUTION: With the 1.3 version of SKIP, you should NOT
indent a "Lab" statement or that label will not be found.
Note that 2.x/3.x contains this command as a builtin.
KEYWORDS
string
The text attached to a LAB command which SKIP
searches for. The search always starts on the line
following skip and continues downwoard toward the end of
the file. SKIP always looks for the LAB keyword command
preceding the Skip command, it will not goto a LAB
command before the Skip unless the BACK keyword is used.
back
Added with 1.3, it starts at the Skip and searches
back up the file towards the beginning. You may not skip
backwards in an EXECUTE statement.
EXAMPLE
1. To skip to Lab Dodah
Skip Dodah
2. To skip down to the next LAB statement in the current
command file.
Skip
3. To skip to the LAB statement 'Here' before the current
skip statement in the current command file:
Skip Here Back
@Sort (V1.3, 2.x, 3.x in C:)
NAME
Sort - Sort a file.
SYNOPSIS
1.3:
Sort [From fromname] [To toname] [COLSTART n]
2.x/3.x:
Sort [From fromname] [To toname] [COLSTART n] [CASE]
[Numeric]
DESCRIPTION
Performs a sort according to the first ASCII value of
the beginning characters of an AmigaDOS text file.
AmigaDOS treat a string of characters that ends with a
linefeed as a single line. Sort will compare each of
these lines with each other.
Numbers will always come before letters. Lines will
be sorted in ascending order with the 'lower' number or
character first and the 'higher characters last (eg
1,2,3.....x,y,z).
Under 1.3 the sort is Case sensitive with capital
letters being listed before lower case letters. In all
versions 2.x and above there is no case sensitivity.
1.3's sort is not very fast especially on long files.
If you have more than 200 lines then you must increase
the Stack size. If Sort fails, and you have 1.3, then
increase you stack size and you may improve your
performance.
If you omit the From argument from Sort, it reads
from its standard input, which allows it to be used in
pipelines.
KEYWORDS
FROM
The AmigaDOS file you whose contents you will sort.
If the fromname is the first argument in the command
labels then it is optional.
TO
The AmigaDOS file or device which the sorted lines
from fromname will be sent. If you use the same name as
fromname Sort will not work. If the toname is the second
argument in the command labels then it is optional.
COLSTART n
This takes a numeric argument which gives the
starting column for the sort. All entries to the left of
this column will not be considered in the final
arrangement.
CASE
2.X/3.X ONLY: If this option is used, the sort will
be case sensitive. In other words, upper case letter will
be sorted before lower case ones.
NUMERIC
With this keyword is specified all lines are looked
at as numbers. Lines that start with letters are assigned
the number zero. If both CASE and NUMERIC are used
simultaneously then CASE is ignored.
EXAMPLE
1. To get a listing of all files sorted by time
(i.e., from the earliest to the latest).
list >listfile
sort listfile colstart 41
or using pipes: list | sort colstart 41
2. Sort the contents of your Address Book to a file
called Sorted Addresses:
SORT "Address Book" "Sorted Addresses"
3. To print out a sorted Address Book file in the
Work:People directory:
SORT "Work:People/Address Book" PRT:
@Stack(V1.3 in c:) (2.x/3.x internal)
NAME
Stack - Set or display the current stack size.
SYNOPSIS
Stack Size
DESCRIPTION
Stack is used to set aside a certain amount of memory
for the active CLI. This memory area is a buffer area
used by programs to work in. The default stack size is
4000 bytes, which is enough for most programs. If the
stack is too small the program won't run.
Many programs require more stack than the default
setting of the Amiga's stack will give them. You can use
this command to display the current amount of stack (by
using Stack without an argument), or you can change the
current amount of stack by providing an integer argument
to stack.
You can check the stack size of all active system
tasks by using the Status command.
KEYWORDS
Size
The bytes of memory set aside that you wish to assign
as stack space for the currently active CLI. If you don't
use the Size keyword, then the current stack size is
displayed.
EXAMPLE
1. To obtain a good healthy stack for programs:
Stack 10240
2. To display the stack size of the currently active
CLI:
Stack
@Status (V1.3, 2.x, 3.x internal)
NAME
Status - Display the currently running CLI processes.
SYNOPSIS
Status tasknum [FULL] [TCB] [CLI=ALL] [COMMAND=COM]
DESCRIPTION
The most common use of Status is to find what
background processes are still executing, this can be in
preparation to sending them a signal with Break, or to
find out if all your programs are completed before
turning off the computer. The various options to this
command display information which may or may not be
useful, depending on your needs. The default behavior of
Status is to display the CLI numbers and names of all
currently active processes. You can get information on a
specific process by typing Status <cli number>.
You can also find out if a specific command is
executing using the COMMAND keyword. This can be useful
in scripts, since if the command is NOT found, the WARN
fail level will be set. Otherwise, a 0 fail level is
returned. This is useful with shells that support
command substitution to do things like send BREAK codes
to processes.
KEYWORDS
taknum
The number of the task which STATus is to report on.
If tasknum is not specified, all active tasks are
reported.
FULL
Displays all the information normally reported by
STATUS if both the TCB and ALL were both specified. This
keyword is completely optional.
TCB
This displays all information concerning stack size,
global vector size, and priority of all system tasks.
This keyword is completely optional too.
CLI or ALL
Specifying these keywords forces STATUS to report of
the status of all the CLI tasks. This is the same as
running Status without any keywords. The CLI and ALL are
interchangeable.
COMMAND or COM
Added with 1.3, this prints the task number of the
CLI from which the 'filename' program was run. This lets
you send a break to a program using a script file. A
return code of 5 (Warn)is returned if that command is not
found.
EXAMPLE
1. To find out everything about all executing
processes.
Status FULL
2. Here is an example using command substitution that
will send a break to the process executing the
ClockPtr command:
Break `Status Command ClockPtr`
Note that the above assumes you are using 2.x/3.x's
backtick function. You might find it interesting to
compare this example with the more complex one given for
1.3:
STATUS >ram:temp COMMAND ClockPtr
BREAK <ram:temp >NIL: ?
DELETE ram:temp
Both of these accomplish the same thing!
@TackOn(V1.3) ARP User's Manual TackOn(V1.3)
NAME
TackOn - Add a filename to a path.
SYNOPSIS
TackOn Path/a File/a
DESCRIPTION
TackOn takes a Path and a File and unites these two into one
larger pathname which it then displays on its standard
output. This allows TackOn to be used in building up
filenames in shell scripts using command substitution.
EXAMPLES
There are several good examples of using TackOn in the Ash
Manual.
@Type (V1.3, 2.x, 3.x in C:)
NAME
Type - Type a file, possibly with line numbers or in
hex.
SYNOPSIS
Type [FROM] fromname [[TO] toname]
[OPT N=NUMBER / OPT H=HEX]
DESCRIPTION
Type displays a file on the current window, or, if a
TO argument is supplied, to a file. With the 2.3/3.x
version of Type, you can type many files with one TYPE
command, and use wildcards as well. Note that due to
this enhancement of Type it is possible to dispense with
Join, since Type can do Join's job as well as its own.
Although you can view a file with Type, you are also
able to copy a file with it. It can format its output as
hex number or include line numbers at the beginning of
each line.
If you use Type without a filename, it will read from
its standard input. This allows you to use Type in a
pipeline, or to send keyboard input to a device (such as
a printer) or a file. To terminate an interactive session
with Type, use Ctrl-\. To pause the output hit the space
bar. Resume the output by pressing the Ctrl-x. The output
may be cancelled with the Ctrl-C.
OPTIONS
FROM fromname
The name of the file you want displayed. Fromname can
be any valid Amiga file. The FROM keyword is optional if
the fromname immediatly follows the command. 2.x/3.x lets
you TYPE many files.
NOTE: ONLY 'OPT N' OR 'OPT H' MAY BE SPECIFIED ONE AT
A TIME NOT BOTH AT THE SAME TIME.
HEX or OPT H
This displays the file(s) in hexadecimal.
NUMBER or OPT N
This displays the file(s) with line numbers. AmigaDOS
will treat any number of characters within a file ending
with a linefeed as one line.
TO file
The TO option lets you select a destination file
instead of typing to the console. Note that with the
2.x/3.x TYPE, you must explicitly specify the TO keyword,
unlike the 1.3 TYPE. Under 2.x/3.x a second filename will
be presumed to be another fromname if the TO keyword is
not specified. Since 1.3 cannot display multiple files
with one TYPE command then the TO keyword isn't needed if
the toname directly follows the fromname.
If TO is not specified, the TYPE is output to the
screen. toname may be any kind of AmigaDOS file or device
(such as prt:). It cannot be a directory, however. If you
specify a directory with something in it, TYPE will fail.
If toname is an empty directory then the directory will
be deleted and replaced with the typed file.
EXAMPLE
1. To Type a binary file in hex.
Type WORK:ThisFile.bin OPT H
2. To Type the contents of a text file to the screen:
Type this.txt
3. To copy a file named this.txt to another directory:
Type Work:Docs/this.txt Work:MoreDocs/this.txt
4. Dump a text file to the printer with line numbers:
Type Work:this.txt to PRT: Opt N
@UnAlias (2.x/3.x Internal)
NAME
UnAlias - Removes an alias from the system.
SYTNOPSIS
UnAlias name
DESCRIPTION
It will remove an alias from your system as well as
being able to list the current aliases.
KEYWORDS
name
The alias you wish to remove. If you don't specify a
name, it will list all the aliases assigned.
EXAMPLE
1. To remove the XCOPY alias:
UNALIAS xcopy
@UnSet (2.x/3.x Internal)
NAME
UnSet - Removes a specific local variable.
SYNOPSIS
UnSet name
DESCRIPTION
If you don't specify a variable to UnSet, it will
list all the current local environment variables and what
they hold. For more information on local environment
variables see the SET command details.
KEYWORDS
name
The name of the local environmental variable to
remove. If omitted, it will list all current local
environment variables and what they hold.
EXAMPLE
1. To list all the environment variables:
UnSet
@UnSetEnv (2.x/3.x Internal)
NAME
UnSetEnv - Removes specified global environment
variable.
SYNOPSIS
UnSetEnv name
DESCRIPTION
This actually deletes the named file in your ENV:
directory. For more info on global environmental
variables see the details in the SETENV file.
If you don't specify a file to delete, then UNSETENV
will list all the current global varibles.
KEYWORDS
name
The name of the global environment variable to
remove. If you don't specify a name, then the command
will list all of the global environment variables.
@Version(V1.3, 2.x, 3.x in C:)
NAME
Version - Report version numbers of current system software.
SYNOPSIS
1.3:
Version [libraryname or devicename] [versionnum] [revisionnum]
[unitnum]
2.x/3.x:
Version [libraryname or devicename or filename] [version_num]
[revision_num] [unit_num] [FILE] [INTERNAL] [RES]
[FULL]
DESCRIPTION
By default, Version reports the current versions of
Kickstart, Workbench and arp.library in use on your
Amiga. This is the same as using the Workbench menu
selection "About...". If you specify a name (which may
be a library or a device), Version attempts to find out
which version the system will use when accessed.
OPTIONS
libraryname or devicename or filename
The complete path and name of the library, device, or
file whose version you want to check. You can only check
file version numbers under 2.x/3.x. If you don't specify
this keyword, the Version number of the kickstart and
Workbench will show up.
Version_Num
Accepts a numeric argument. If the version of the
library or device in question is not the same as this
argument, the return code will be set to WARN.
Revision_Num
Like VERSION, but checks the revision number of the
specified library or device.
Unit_num
Useful only with some devices, to access a unit other
than zero.
RES
This lets you find the version number of a resident
command.
Full
Allows version to print out the entire versin string,
including the date.
EXAMPLE
1. To get the complete version of the Kickstart and
Workbench disks used:
Version
(This is what it will return:)
Kickstart version 33.180. Workbench version 33.44. ARP
version 39.1
Note that the above values may be different depending on
what versions of each software you are running.
2. To check to see if the version of ReqTools is greater
than 37. Print a warning if it isn't:
Version >Nil: ReqTools.library Version=37 Revision=35
IF Warn
ECHO "ReqTools library version below 37."
ENDIF
1.3 CAUTION!!!
You should not run VERSION indiscriminately on files
which are not in the libs: or devs: directories, or your
system may GURU.
@Wait (V1.3, 2.x, 3.x in C:)
NAME
Wait - Delay a specified amount of time.
SYNOPSIS
WAIT n [SEC=SECS] [MIN=MINS] [UNTIL time]
DESCRIPTION
Wait will delay a specified number of seconds or
minutes, or until the specified time is reached. This is
most often used in EXECUTE batch files for a delay. By
default, all units are in seconds. If no delay is
specified, the default delay is 1 second. Sending a break
to the WAIT command will cause WAIT to conclude.
OPTIONS
n
The amount of time, in minutes or seconds that the
system will wait. If a time isn't specified then
it defaults to 1 second.
SEC=SECS
The number entered is the number of seconds (this is
the default) to wait.
MIN=MINS
The number entered is the number of minutes to wait.
UNTIL
The string entered is a valid time. Wait will delay
until this time is reached.
You may only specify one of UNTIL, MINS, or SECS for WAIT.
EXAMPLE
1. To WAIT one second:
WAIT
2. To wait ten seconds:
WAIT 10 secs
3. To wait until 3:00:
WAIT UNTIL 3:00
4. To wait for three minutes:
WAIT 3 min
or
WAIT 180
5. To set up a background process that waits until 3:00 and then
delete all the files in a directory named 'Garbage':
RUN WAIT UNTIL 3:00
DELETE Garbage/#?
@Which(V1.3, 2.x, 3.x in C:)
NAME
Which - display pathname of command.
SYNOPSIS
1.3:
Which filename [NORES or RES]
2.x/3.x:
Which filename [NORES or RES] [ALL]
DESCRIPTION
Which searchs the command path (including the
resident list) for the file you specify. This command is
useful in determining exactly Which command you are
executing. By default, Which searches the Resident list,
then the command path.
Which is extremely useful in the way it will allow
you to tell Which AmigaDOS command will be found first
when there are multiple versions of that command in your
system paths.
KEYWORDS
filename
The name of the file, directory, or device to find.
If you don't specify a logical device, then the Assign
list is also checked.
NORES
Don't search the resident list.
RES
Search only the resident list.
ALL
Which will search all of your paths including the
internal and resident lists. This should reveal all of
the copies of a given command.
EXAMPLES
1. To display the directory which the MUInt program
is stored, while only checking for its existence in the
resident list:
Which MUInt RES
2. To display the device to which ImageFX: is
Assigned:
Which ImageFX:
@Why (1.3, 2.x, 3.x in C:)
NAME
Why - Used to get additional information about failing
commands.
SYNOPSIS
WHY
DESCRIPTION
AmigaDOS has this little command that MSDos and
System 7 users can only dream about. MSDos nor System 7
gives the user any kind of feedback when a command fails
to run. The few messages they do send you are confusing
and make sense only to Bill Gates (maybe). When AmigaDOS
hits a problem, what happens? You get a nice little
requestor telling you what was wrong and probably a
suggestion on how to fix it. If you send the Why command
right after this happens, you can get additional info on
the command failure and more details (in simple English)
on what can be done to correct it.
Sometimes, Why will send back a failure code in the
form of a number. You can use the Fault command to
analyze this number and investigate more fully the fault
code.
If you issue Why after a command that executed
successfully (or did the failed command has issued all
the information available) you will get the message: "The
last command did not set a return code."
KEYWORDS
There are no keywords.
EXAMPLES
1. What happens when a Why is issued after a RUN
command fails to run:
1> RUN GrooveyGame
RUN: Can't run GrooveyGame
1> WHY
Last command failed because file not found
@DMS
Usage: DMS 0;33mcommand 0;32moptions,,,0m
1;33mcommand0m----------------------------------------------------------------------
READ - Compress disk. | VIEW - View information.
APPEND - Append tracks to file. | VIEWDIZ - View FILE_ID.DIZ in file.
WRITE - Decompress disk. | TEST - Test file.
REPACK - Repack file. | TEXT - Show BANNER in file.
SFX - Make .DMS executable. |
1;32moptions0m----------------------------------------------------------------------
FROM - Drive (ex. DF0: RAD:) | ENCRYPT - Encrypt file with password.
TO - Drive (when reading) | DECRYPT - Decrypt file with password.
Filename(when repacking) | PC - Read as MS-DOS disk.
LOW - Track to start from. | HD - Read High-density disk.
HIGH - Track to end at. | FULL - Show full info on DMS file.
CMODE - Packing method (ex. BEST) | SAVE - Saving of FILE_ID.DIZ
TEXT - Banner for DMS file. | NOPAUSE - Skip 'press [RETURN]' request
DIZTEXT - FILE_ID.DIZ for dms file. | NOVERIFY- Write without verify of data.
NOVAL - No validating of disk. | NOTEXT - Do not display banners.
NOZERO - Ignore diskbitmap. | RETRY - Read/Write Retry (when Error)
DEVFIX - Utilize dms for DMS.DEVICE|
-----------------------------------------------------------------------------
Usage(s):
1;31mDMS 0;33mRead file31m[.DMS]32m 31m[FROM 33mDev:31m] [TEXT 33mfiletext31m] [CMODE 33mmode31m] [LOW 33mlowtrack31m]
[HIGH 33mhightrack31m] [NOVAL] [NOZERO] [ENCRYPT 33mpassword31m] [PC] [HD]
[DIZTEXT 33mfiletext31m] [RETRY 33mvalue31m] [DEVFIX]
1;31mDMS 0;33mAppend file31m[.DMS]32m 31m[FROM 33mDev:31m] [TEXT 33mfiletext31m] [CMODE 33mmode31m] [LOW 33mlowtrack31m]
[HIGH 33mhightrack31m] [NOVAL] [NOZERO] [DIZTEXT 33mfiletext31m]
1;31mDMS 0;33mWrite file31m[.DMS]32m,,, 31m[TO 33mDev:31m] [LOW 33mlowtrack31m] [HIGH 33mhightrack31m] [NOVAL]
[NOVERIFY] [NOTEXT] [NOPAUSE] [DECRYPT 33mpassword31m] [PC] [HD]
[RETRY 33mvalue31m]
1;31mDMS 0;33mRepack file31m[.DMS] [TO 33mfile31m] [LOW 33mlowtrack31m] [HIGH 33mhightrack31m] [CMODE 33mmode31m]
1;31mDMS 0;33mView file31m[.DMS]32m,,,31m [FULL] 1;31mDMS 0;33mTest file31m[.DMS/.FMS]32m,,,31m
1;31mDMS 0;33mText file31m[.DMS]32m,,,31m 1;31mDMS 0;33m?31m (HELP)
1;31mDMS 0;33mViewdiz file31m[.DMS]32m 31m[SAVE 33mfilename31m] 1;31mDMS 0;33mSfx file31m[.DMS]32m
0;32mFMS Commands:
0;31mUsage: DMS <command> archive[.FMS] <filename>,,,
1;31mDMS 0;33mMakesfx file31m[.FMS]31m
1;31mDMS 0;33mA file31m[.FMS]31m: Add files to archive 1;31mDMS 0;33mE file31m[.FMS]31m: Extract archive
1;31mDMS 0;33mV file31m[.FMS]31m: View archive full 1;31mDMS 0;33mL file31m[.FMS]31m: List archive
@PGP 2.6ui
PGP -ea {Text} Verschlüsselt eine Nachricht
PGP -d {Text} Entschlüsselt eine Nachricht
PGP -ka {Keyfile} Fügt einen öffentlichen Schlüssel hinzu
PGP -kg Erstellt ein Schlüsselpaar
PGP -kr {User_Id} Entfernt einen Public-Key
PGP -ke {User_Id} Editiert die User_Id oder den Mantra
PGP -kxa {User_Id} {keyfile} Extrahiert einen öffenlichen Schlüssel
@